我有一个带有大量C++和Python文件的项目。到目前为止,我主要开发了C++部件,并将其编译成一个带有qmake的静态库。有些方法是使用boost::python公开的,并从.py文件中执行。
我现在想把整个事情编译成一个独立的可执行文件。
我现在的问题是:做这件事的最好方法是什么?我试图切换到Cython,编译python文件并链接库。但是,distutils/setup.py似乎没有直接的方法来编译一个可执行文件,只有共享库。
有没有一种方法可以让轻松地将.cpp和.pyx文件编译成可执行的?
这样,我就可以摆脱大量的boost::python包装器,获得c++/python的完美混合,而不必导入共享库并使用pyinstaller打包所有内容?
发布于 2012-05-27 10:53:39
你应该调查:
因为python是您的入口点,所以您可以将独立解释器、环境和资源位置绑定到app/exe/二进制文件中。它将收集您的所有库模块到其独立的站点包中。
如果您不使用任何普通的纯py文件,并且只使用cython文件,那么也可以将解释器作为一个入口点嵌入到其中之一,并带有-- cython:http://wiki.cython.org/EmbeddingCython的嵌入标志。
注意,这是与前面提到的打包选项类似的“冻结”方法,但不需要额外的长度来构建一个自包含的env。
https://stackoverflow.com/questions/10775596
复制相似问题