下载和安装 PyPy

就像 CPython 一样,您需要一个基本解释器环境,然后才能安装额外的包。安装基本解释器的选择有

  • 使用 conda (x86_64 windows, macOS, linux, arm64 linux)
  • 使用您的发行版包管理器 (linux)
  • 使用 homebrew (macOS)
  • 使用预构建的压缩包
  • 从源代码构建

使用 conda

如果您需要编译的 (c-extension) 模块,例如 SciPy,我们建议您使用 conda 和 pypy3.9,它适用于 Windows10、macOS 和 linux x86_64。您可以在 博客文章 中了解更多信息。

$ conda create -c conda-forge -n my_cool_pypy pypy python=3.9
$ conda activate my_cool_pypy
$ conda install scipy

使用 homebrew

在 macOS 上,您也可以使用 homebrew,它提供签名的包。截至 2024 年 5 月,您可以在其中找到 pypy3.9 和 pypy3.10。

Linux 发行版

一些 Linux 发行版提供 pypy 包。请注意,为了安装需要编译的额外模块,您可能需要安装额外的包,例如 pypy-dev。这将表现为关于“缺少 Python.h”的错误。发行版目前还没有提供很多 pypy 兼容的包,如果您需要额外的模块,我们建议您创建一个 virtualenv 并使用 pip。

下载预编译的 PyPy

开始使用 PyPy 的最快方法是下载适合您的操作系统和架构的预编译二进制文件。您可以使用 最新版本 或我们的 开发 nightly 构建 之一。

请注意,nightly 构建不能保证像正式版本一样稳定,使用它们需自担风险。此外,macOS 二进制文件没有签名,这意味着您需要说服 macOS 它们是安全的。

解压缩 tarball 或 zip 文件后,PyPy 就可以立即执行,无需将其安装在任何特定位置。

$ tar xf pypy-x.y.z.tar.bz2
$ ./pypy-x.y.z/bin/pypy
Python 2.7.x (xxxxxxxxxxxx, Date, Time)
[PyPy x.y.z with GCC x.y.z] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``PyPy is an exciting technology
that lets you to write fast, portable, multi-platform interpreters with less
effort''
>>>>

如果您想让 PyPy 在系统范围内可用,您可以将指向 pypy 可执行文件的符号链接放在 /usr/local/bin 中。重要的是要放置一个符号链接,而不是将二进制文件移动到那里,否则 PyPy 将无法找到其库。

安装更多模块

如果您想安装第三方库,最方便的方法是使用 pip 安装 ensurepip(除非您想安装 virtualenv,如以下所述;然后您可以在 virtualenv 中直接使用 pip)

$ ./pypy-xxx/bin/pypy -m ensurepip
$ ./pypy-xxx/bin/pypy -mpip install -U pip wheel # to upgrade to the latest versions
$ ./pypy-xxx/bin/pypy -mpip install pygments  # for example

第三方库将安装在 pypy-xxx/site-packages 中。与 CPython 一样,linux 和 macOS 上的脚本位于 pypy-xxx/bin 中,而 windows 上的脚本位于 pypy-xxx/Scripts

使用 virtualenv 安装

在 virtualenv 中运行 pypy 通常很方便。为此,您需要一个版本的 virtualenv - 1.6.1 或更高版本。然后,您可以从预编译的压缩包或翻译后的 git 检出中安装 PyPy

# from a tarball
$ virtualenv -p /opt/pypy-xxx/bin/pypy my-pypy-env

# from the git checkout
$ virtualenv -p /path/to/pypy/pypy/translator/goal/pypy-c my-pypy-env

# in any case activate it
$ source my-pypy-env/bin/activate

请注意,my-pypy-env/bin/python 现在是一个指向 my-pypy-env/bin/pypy 的符号链接,因此您应该能够通过键入以下命令来运行 pypy

$ python

您仍然应该通过以下方式将 pip 和 wheel 升级到最新版本:

$ my-pypy-env/bin/pypy -mpip install -U pip wheel

从源代码构建

如果您有兴趣更深入地参与,或对 PyPy 做一些不同的事情,请参阅 构建说明