8

仅使用 python 和使用 pypy 编译器时,python 编程有区别吗?我想尝试使用 pypy,以便我的程序执行时间变得更快。在 python 中有效的所有语法是否也适用于 pypy?如果没有区别,你能告诉我如何在 debian lunux 上安装 pypy 以及在 pypy 上的一些用法示例吗?除了描述之外,谷歌没有包含太多关于 pypy 的信息。

4

2 回答 2

13

从 pypy功能页面

PyPy 1.9 实现 Python 2.7.2 并在 Intel x86 (IA-32) 和 x86_64 平台上运行,ARM 和 PPC 正在进行中。它支持所有的核心语言,通过了 Python 测试套件。

这意味着您用 Python 2.7 编写的几乎所有代码都可以工作。唯一值得一提的例外是一些用 C 编写的 python 扩展,例如numpy.

安装应该相当容易,你可以从这里下载一个 linux 二进制文件。然后简单地提取解释器。从这一点开始,您可以运行您的 python 程序,类似于使用普通 python 解释器运行它们的方式。

在命令行,而不是:

python my_program.py

利用:

path/to/where/you/installed/pypy my_program.py

有关如何/为什么要使用 pypy 的示例,请查看PyCon 2012 中的此视频

于 2012-09-14T21:21:29.050 回答
2

pypy 是 python 语言的兼容替代实现。这意味着几乎没有(有意的)差异。少数区别之一是 pypy 不使用引用计数。这意味着,例如,您必须手动关闭文件,当您的文件变量超出 CPython 的范围时,它们不会自动关闭。

于 2012-09-14T21:16:35.787 回答