【发布时间】:2011-05-14 05:03:44
【问题描述】:
(或者,“PyPy/RPython 是否可以用于将 Python 编译/翻译成 C/C++不需要 Python 运行时?”)
我试图通过它的 RPython 和它的 Python,它的运行和它的编译和它的翻译来理解 PyPy,但有些失败。
我有一个假设的 Python 项目(适用于 Windows);我想保持它的大小,大约为一百千字节(O.N.O.),而不是使用 py2exe 需要的几兆字节(在 UPX 之后)。我可以以任何方式使用 PyPy1 来生成不依赖 Python26.dll 的独立可执行文件吗?如果可以,它是否需要遵循 RPython 限制,例如 for 仅适用于内置类型,或者它是完整的 Python 语法?
我确实意识到,如果可以做到这一点,我几乎肯定不能直接使用 Python 中的 C 模块。
1(自从询问以来,情况变得更加清晰,工具链的这一部分被更明确地标记为 RPython 而不是 PyPy;2010 年并非如此.)
【问题讨论】:
-
这几乎肯定不会产生你想要的那么小的可执行文件,但由于它是相关的,我想我会指出 cython 声称它现在可以构建独立的可执行文件:wiki.cython.org/EmbeddingCython
-
@Forest:我没有意识到 Cython 可以做到这一点,但由于需要 Python 运行时,我认为它不太可能(或至少很多)小于 py2exe + UPX。
标签: python compiler-construction translate pypy rpython