这是我的问题。我设法通过以下命令使用conda安装PyPy:
conda install -c conda-forge pypy3.5
不幸的是,当我尝试创建一个使用此pypy3可执行文件的环境时,我找不到解决方法。如果我运行pypy3
,我将获得PyPy shell,而没有任何问题,我也可以使用pypy3
而不是python
运行程序。
尽管现在,我希望能够使用PyPy创建一个完整的环境。我曾尝试过以下类似的事情:
conda create -n pypy3 python=pypy3
conda create -n pypy3 python=pypy3 -c conda-forge
我尝试指定pypy3.5和其他变体,但没有任何效果。 我可以在Miniconda安装箱中看到pypy3可执行文件,但找不到Conda使用它的方法。我在互联网上找不到很多东西,因为人们似乎只要求通过Conda安装PyPy,而没有要求使用PyPy创建环境。
这是我的问题:
我不知道是否有人可以在这里提供帮助。也许解决方案已经存在,但无论如何我都找不到很多。
编辑:如@darthbith所建议,我可以使用以下命令:
conda create -n pypy3 -c conda-forge pypy3.5
但是,这并没有达到我的期望。我可以使用pypy3
来获取外壳程序并执行我的Python程序,但是它不能作为常规Python版本处理。我想让PyPy像任何版本的Python一样被考虑,并能够使用pip安装软件包(大多数纯Python软件包应与PyPy一起使用)。
我知道很多人会建议我不要在这里做什么,但是我认为它只是Python的一个更快的版本,适用于不依赖C库的任何事物。由于我正在使用纯Python库,而PyPi中的许多库都是用纯Python编写的,所以我不明白为什么我无法在这里实现我想做的事情。
答案 0 :(得分:2)
Conda现在更加顺畅地支持PyPy。
conda config --set channel_priority strict
conda create -c conda-forge -n pypy pypy
conda activate pypy
为pypy构建conda软件包仍然需要做很多工作,但是已经有很多兼容性。例如,
conda install mpmath
conda install numpy
现在都可以工作。
参考:https://conda-forge.org/blog/posts/2020-03-10-pypy
还要注意,here描述了将py和pypy一起使用的官方建议,重点是:
使用
pip
的最佳做法是始终将其称为<python> -mpip ...
,但是如果希望能够直接从命令行调用pip
,则必须调用{{1} }。
答案 1 :(得分:1)
可能无法完全实现您想要的功能,但这是我所做的:
制作一个新的conda env
conda create --name pypy_env
conda activate pypy_env
使用conda安装pypy3
conda install pypy3
中的方法获取pypy3的点
使用
为pypy安装软件包pypy3 -m pip install <name_of_package>
对于某些软件包,它更倾向于使用预构建的pypy wheel文件,其中一些可以在https://www.lfd.uci.edu/~gohlke/pythonlibs/
中找到答案 2 :(得分:0)
像这样为我工作:
conda create -n pypy3 -c conda-forge pypy3.5
此后,您必须在环境的bin目录中的内链接到pypy3解释器
ln -s pypy3 python
答案 3 :(得分:0)
我不确定发生了什么变化,但 conda install pypy3 绝对不适合我(2021 年 1 月):
conda install pypy3
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
- pypy3
Current channels:
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/r/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.