(或者,“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 年并非如此.)
最佳答案
是的,PyPy 可以从 RPython 代码生成独立的可执行文件。这意味着,在编写代码时,您需要遵循所有尴尬的 RPython 规则。您的 Python 代码完全不可能开箱即用,并且移植现有的 Python 代码通常并不有趣。它不会使可执行文件像 C 一样小,但例如使用 boehm GC 的 rpystone 目标(来自 pypy/translator/goal)在剥离后在 64 位上是 80k。
关于python - PyPy/RPython 可以用来生成一个小的独立可执行文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4251964/