相关疑难解决方法(0)

可以使用PyPy/RPython生成一个小的独立可执行文件吗?

(或者,"可以使用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 compiler-construction pypy translate rpython

25
推荐指数
1
解决办法
5245
查看次数

使用PyPy或Shedskin加速现有Python App的部分内容

我希望为现有应用程序带来速度提升,我正在寻找有关可能选项的建议.该应用程序是用Python编写的,使用wxPython,并与之打包py2exe(我只针对Windows平台).应用程序的某些部分是计算密集型的,在解释Py​​thon中运行得太慢.我不熟悉C,所以移植部分代码并不是我的选择.

所以我的问题基本上是我清楚地了解我的选项,如下所示,或者我是从错误的方向接近这个?

  • 与pypy一起运行:今天我开始尝试Pypy - 结果令人兴奋,因为我可以从pypy解释器运行大部分代码,我看到5x +速度改进而没有代码更改.但是,如果我理解正确的话,(a)具有wxpython支持的Pypy 仍然是一项正在进行中的工作,并且(b)我无法将其编译为exe以进行分发.所以,除非我弄错了,这对我来说似乎是不合适的?没有办法打包,所以部分内容是用pypy执行的?
  • 将代码转换为RPython,使用pypy进行翻译所以下一个选项似乎实际上是将代码的一部分重写为pypy受限语言,这似乎是一项非常大的工作.但是,如果我这样做,部分代码可以编译成可执行文件(?),然后我可以通过ctypes(?)访问代码.
  • 其他限制选项 Shedskin似乎是一个受欢迎的选择,这是否更符合我的要求?其他选项似乎是Cpython,Psyco和Unladen,但它们都被取代或不再维护.

python pypy

5
推荐指数
1
解决办法
1636
查看次数

将python编译成二进制——pypy性能

我正在寻找将 python 源代码编译成二进制文件。出于性能原因,我通常使用 pypy(我的应用程序使用 pypy 运行得更快)。我从 2012 年找到了这个答案,指出使用任何现有工具(例如 pyinstaller)都无法将 pypy 编译为二进制文件。将 PyPy 编译为 Exe。我不太能理解顶级回应作为解决方案所解释的内容。

我想知道:

  1. 现在是否有一种相当简单的方法可以使用 pypy 作为解释器将 python 代码编译为二进制文件?

  2. 我实际上并不需要使用 pypy,我只是为了提高性能而使用它。有没有一种合理的方法可以避免使用 pypy 但仍然可以获得类似的性能提升?这仍然需要支持编译为二进制文件。

作为附加说明,我使用 2.7 语法。

python pypy compilation pyinstaller

5
推荐指数
1
解决办法
2458
查看次数