我有一台Linux-64位的机器。我该如何在我的anaconda环境中安装PyPy?我尝试运行"conda install pypy",但系统提示没有可用的软件包。pip install pypy也返回了类似的信息。难道安装PyPy的唯一方法就是从官网下载tar.gz文件吗?安装完成后,我该如何配置Anaconda环境,以便在需要时能够切换到其他Python实现?
我有一台Linux-64位的机器。我该如何在我的anaconda环境中安装PyPy?我尝试运行"conda install pypy",但系统提示没有可用的软件包。pip install pypy也返回了类似的信息。难道安装PyPy的唯一方法就是从官网下载tar.gz文件吗?安装完成后,我该如何配置Anaconda环境,以便在需要时能够切换到其他Python实现?
conda-forge现在支持在conda环境中使用PyPy3.6作为Python解释器(详见官方博客文章):
conda config --set channel_priority strict
conda create -n pypy pypy
conda activate pypy
然后像使用常规的python
可执行文件一样使用它(注意,这是一个不同的Python解释器,而不是一个包)
pypy3 -c"import sys; print(sys.version)"
它适用于Linux和OSX。
pypy3 -m ensurepip
后才能使用此方法。 - mbarkhau注意: conda-pypy已经被归档,此答案已过期,conda-forge正在制作PyPy软件包。您应该使用它。
GitHub上维护了一种替代方法,由Riccardo Vianello维护:
https://github.com/rvianello/conda-pypy
它基本上涉及使用他的conda渠道而不是默认渠道来安装必要的软件包。提供了一些基本的软件包。
conda create -n <newenviromnentname>
进入环境
conda activate <newenviromnentname>
安装pypy到环境中
conda install -c conda-forge pypy3.6
然后继续安装您需要的其他软件包。
(pypy37) C:\Users\UserName>conda install -c conda-forge pypy3.7
Collecting package metadata (current_repodata.json): done
Solving environment: done
==> WARNING: A newer version of conda exists. <==
current version: 4.10.1
latest version: 4.10.3
Please update conda by running
$ conda update -n base -c defaults conda
## Package Plan ##
environment location: C:\Users\Dios Dole\.conda\envs\pypy37
added / updated specs:
- pypy3.7
The following packages will be downloaded:
package | build
---------------------------|-----------------
bzip2-1.0.8 | h8ffe710_4 149 KB conda-forge
ca-certificates-2021.5.30 | h5b45459_0 171 KB conda-forge
certifi-2021.5.30 | py37h4c0cbd9_0 142 KB conda-forge
expat-2.4.1 | h39d44d4_0 279 KB conda-forge
libffi-3.3 | h0e60522_2 37 KB conda-forge
openssl-1.1.1k | h8ffe710_0 5.7 MB conda-forge
pypy3.7-7.3.5 | hb504520_5 31.1 MB conda-forge
python-3.7.10 | 1_73_pypy 5 KB conda-forge
python_abi-3.7 | 2_pypy37_pp73 4 KB conda-forge
tk-8.6.10 | h8ffe710_1 3.2 MB conda-forge
xz-5.2.5 | h62dcd97_1 211 KB conda-forge
zlib-1.2.11 | h62dcd97_1010 126 KB conda-forge
------------------------------------------------------------
Total: 41.2 MB
The following NEW packages will be INSTALLED:
bzip2 conda-forge/win-64::bzip2-1.0.8-h8ffe710_4
expat conda-forge/win-64::expat-2.4.1-h39d44d4_0
libffi conda-forge/win-64::libffi-3.3-h0e60522_2
pypy3.7 conda-forge/win-64::pypy3.7-7.3.5-hb504520_5
python_abi conda-forge/win-64::python_abi-3.7-2_pypy37_pp73
tk conda-forge/win-64::tk-8.6.10-h8ffe710_1
xz conda-forge/win-64::xz-5.2.5-h62dcd97_1
zlib conda-forge/win-64::zlib-1.2.11-h62dcd97_1010
The following packages will be UPDATED:
python pkgs/main::python-3.7.10-h6244533_0 --> conda-forge::python-3.7.10-1_73_pypy
The following packages will be SUPERSEDED by a higher-priority channel:
ca-certificates pkgs/main::ca-certificates-2021.7.5-h~ --> conda-forge::ca-certificates-2021.5.30-h5b45459_0
certifi pkgs/main::certifi-2021.5.30-py37haa9~ --> conda-forge::certifi-2021.5.30-py37h4c0cbd9_0
openssl pkgs/main::openssl-1.1.1k-h2bbff1b_0 --> conda-forge::openssl-1.1.1k-h8ffe710_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
ca-certificates-2021 | 171 KB | ####################################################################################################################################################################### | 100%
python_abi-3.7 | 4 KB | ####################################################################################################################################################################### | 100%
python-3.7.10 | 5 KB | ####################################################################################################################################################################### | 100%
expat-2.4.1 | 279 KB | ####################################################################################################################################################################### | 100%
certifi-2021.5.30 | 142 KB | ####################################################################################################################################################################### | 100%
bzip2-1.0.8 | 149 KB | ####################################################################################################################################################################### | 100%
libffi-3.3 | 37 KB | ####################################################################################################################################################################### | 100%
tk-8.6.10 | 3.2 MB | ####################################################################################################################################################################### | 100%
xz-5.2.5 | 211 KB | ####################################################################################################################################################################### | 100%
zlib-1.2.11 | 126 KB | ####################################################################################################################################################################### | 100%
pypy3.7-7.3.5 | 31.1 MB | ####################################################################################################################################################################### | 100%
openssl-1.1.1k | 5.7 MB | ####################################################################################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
之后检查 输入> pypy --version
(pypy37) C:\Users\UserName>pypy --version
Python 3.7.10 (77787b8f4c49115346d1e9cbaf48734137417738, Jul 18 2021, 08:38:15)
[PyPy 7.3.5 with MSC v.1916 64 bit (AMD64)]
关于Puppy的版本支持,请访问http://pypy.org/download.html。
它是特定分发的,如果您没有受支持的分发,可以尝试使用构建选项。
如果没有更多关于您的Linux和Python版本的信息,很难添加更多内容。
pypy
不仅仅是扩展 Python 的某个包,而是纯 Python 实现的 Python 解释器的全新实现。许多科学包栈的根(例如numpy
、scipy
)尚未(?)完全支持pypy
。因此,据我所知,在科学 Python 社区中,pypy
并没有被广泛采用。我认为在不久的将来不会有解决方案。 - cel