我们有一个基于python的模块,我们希望通过创建linux系统可以理解的编译副本(即 .so 文件)分发给我们的客户
我们已经评估了很容易实现这一目标的cython,但是我们正在创建尽可能多的.so文件作为.pyx / .py文件,但是我们想创建一个超级.so文件来完成包。我们希望巧妙地做到这一点,如果我们将来向其他模块添加依赖,那么uber编译的文件应该具有所有的依赖关系。
任何建议,我们如何能够整齐地做到这一点?
答案 0 :(得分:2)
cx_freeze可以创建可重新分发的python模块包。
例如:
cxfreeze my_script_using_my_python_module.py --target-dir dist
python包是编译还是常规python并不真正相关。有意义的是,您的客户需要具有兼容的python版本以及兼容的libc / gcc才能运行它。
因此,为了将python模块分发给第三方,单个.so
将不与所有人兼容。如初。
cx_freeze
捆绑了所需的python解释器版本和python包,因此没有依赖项。它也是跨平台的。