【发布时间】:2013-03-28 11:39:21
【问题描述】:
我有一堆 python 代码,我想将它们“编译”成一个带有 C 接口的共享库,它可以与其他 C/c++ 程序链接,并且可以在不依赖太多其他库的情况下工作(可能是 python 和一些其他 dll,但它们都应该包含在最终 lib 的目录中)。
我真的不想为此将 python 代码重写为 C++。我当然可以,但最好有一个独立的库,可以像 dll/so 库一样使用。
我尝试过 cython 并想将 python 编译为 C,然后将 C 代码编译为 dll,但这似乎还不能正常工作(我还不能让它完美地工作)。然后我也尝试了 bbfreeze - 但 bbfreeze 是否支持创建 .so 文件?无法找出如何做到这一点。有人知道吗?
您知道其他更直接的选择吗? python代码只需要编译一次。最重要的是,如果它创建一个 .so 文件,无论它有多大,它都可以在没有太多依赖项的情况下正常工作。
【问题讨论】:
-
@JonathanVanasco:为那些很棒的链接+1。它们已经很老了(
PyPy自 2008 年以来已经走过了很长很长的路!),它们专注于编译性能而不是方便分发,所以我认为这是一个单独的问题是合理的,但他们仍然有用的信息。
标签: c++ python c compiler-construction