可以PyPy / RPython被用来生产小型独立的可执行文件?
-
27-09-2019 - |
题
(或者, “罐头PyPy / RPython用于编译/翻译Python来C / C ++ 而不需要Python运行时?”)
我试图理解PyPy其RPython及其Python中,它的运行和它的编译和它的翻译,并有所失败。
我有(适用于Windows)的假设Python项目;我想保持它的尺寸减小,在一个几百KB(O.N.O.),而不是几兆字节,使用py2exe限嗣继承(UPX后)的顺序。我可以使用PyPy 1 以任何方式产生一个独立的可执行文件,其不依赖于Python26.dll?如果可以,是否需要遵循RPython限制像for
仅内建类型的工作,或者是完整的Python语法?
我也知道,如果这是可以做到我几乎可以肯定是不能直接使用的C模块从Python的。
1 (由于询问,情况变得更加清晰,并且工具链的这部分被更清楚地冠以RPython而非PyPy的时间;在2010年就没有那么。)
解决方案
是,PyPy可以产生从RPython代码独立的可执行文件。这意味着,你需要遵循所有的尴尬RPython规则,当涉及到编写代码。 Python代码是完全不可能的功能开箱和移植现有的Python代码通常是不好玩。它不会使可执行小C,但例如rpystone目标(从pypy /翻译/目标)使用勃姆GC剥离后在64位是80K。
不隶属于 StackOverflow