我有一个包含许多模块、文件和文件夹的PySide项目。我还使用了Numpy、Matplotlib和许多其他模块。
我想用cython构建这个项目。代码是纯python,我希望cython将所有依赖项添加到一起,就像使用pyinstaller时一样。
它是可能的,还是cython只是用来编写扩展(dll,所以,lib)?
发布于 2015-09-25 12:13:58
如果您愿意,可以逐个文件地对模块进行Cythonize,但是所有的依赖项都将保持在Python中的方式。Cython没有提供像pyinstaller那样嵌入所有所需模块的机制。
然而,这是个坏主意。在科学python中进行优化的一般方法是,我们将代码的Cython/C/Fortran部分移植到计算成本较高的部分,同时为了方便起见,将其余部分保留在纯Python中。
按照您的建议来做,( a)很难维护( b)慢,因为使用Cython不仅仅是编译原始Python代码,您需要做大量的工作才能获得显著的性能提升,而对所有代码都这样做只是浪费时间。
总之,要么只对代码的一部分使用Cython,然后使用pyinstaller等构建您的项目,要么切换到C++或任何其他编译语言,如果这是您想要的。
https://stackoverflow.com/questions/32777714
复制相似问题