(或者,"可以使用PyPy/RPython将Python编译/转换为C/C++ 而不需要Python运行时吗?")
我试图通过它的RPython及其Python,它的运行和编译以及它的翻译来理解PyPy,并且有些失败.
我有一个假设的Python项目(适用于Windows); 我想保持它的大小,大约100千字节(ONO),而不是使用py2exe所需的几兆字节(在UPX之后).我可以以任何方式使用PyPy 1来生成不依赖于Python26.dll的独立可执行文件吗?如果可以的话,它是否需要遵循RPython限制,例如for
只处理内置类型,还是完整的Python语法?
我确实意识到,如果可以做到这一点,我几乎肯定不能直接使用Python的C模块.
1 (自提问时起,情况变得更加清晰,工具链的这一部分更明确地被称为RPython而不是PyPy; 2010年情况并非如此.)
我希望为现有应用程序带来速度提升,我正在寻找有关可能选项的建议.该应用程序是用Python编写的,使用wxPython,并与之打包py2exe
(我只针对Windows平台).应用程序的某些部分是计算密集型的,在解释Python中运行得太慢.我不熟悉C,所以移植部分代码并不是我的选择.
所以我的问题基本上是我清楚地了解我的选项,如下所示,或者我是从错误的方向接近这个?
我正在寻找将 python 源代码编译成二进制文件。出于性能原因,我通常使用 pypy(我的应用程序使用 pypy 运行得更快)。我从 2012 年找到了这个答案,指出使用任何现有工具(例如 pyinstaller)都无法将 pypy 编译为二进制文件。将 PyPy 编译为 Exe。我不太能理解顶级回应作为解决方案所解释的内容。
我想知道:
现在是否有一种相当简单的方法可以使用 pypy 作为解释器将 python 代码编译为二进制文件?
我实际上并不需要使用 pypy,我只是为了提高性能而使用它。有没有一种合理的方法可以避免使用 pypy 但仍然可以获得类似的性能提升?这仍然需要支持编译为二进制文件。
作为附加说明,我使用 2.7 语法。