我正在开发一个Python应用程序,它作为源代码(zipped)和py2exe(多数)分发。
现在我想通过用C扩展替换一些模块来加快速度。在开发方面效果很好。但是分配和组织让我头疼。。。
我目前的结构如下:
.
|-- py_submodule_a/
|-- py_submodule_b/
| |-- c_extension_ba/
|-- c_extension_x/
|-- setup.py
|-- main.py
我的问题是,我应该把C扩展的安装调用/文件放在哪里?我想确保始终可以通过
main.py
运行我的应用程序(因此我不想等到发行版编译C扩展),但我也希望确保发行版始终具有最新的C扩展。提前感谢您的帮助!
最佳答案
如果您只是想用C代码片段优化热循环,那么您可以尝试类似scipy.weave的方法。将C代码很好地封装在调用它的python包中,并且能够在内存上执行有效的C操作,这是非常方便的。