无法在Pipenv上切换python版本

时间:2018-12-07 20:43:10

标签: python pipenv

在MacBook Pro上,我默认使用Python 3.6,但从另一个项目接管的项目需要2.7,我已通过Anaconda安装了该项目。我使用pipenv install设置了Pipenv,将版本设置为3.6。然后,我尝试通过以下方式更改版本:

pipenv --python 2.7

但它返回了以下警告:

Warning: Your Pipfile requires python_version 3.6, but you are using 2.7.15 (/Users/j/.local/share/v/Z/bin/python).

然后,pipenv check当然失败了,并返回:

Specifier python_version does not match 3.6 (2.7).

然后我尝试了pipenv install python 2.7.15并且也失败了。 Pipfile保持3.6不变。

Error:  An error occurred while installing 2.7.15!
  Could not find a version that satisfies the requirement 2.7.15 (from versions: )
No matching distribution found for 2.7.15

以下是python版本ls -ls /usr/bin/python*

32 -rwxr-xr-x  1 root  wheel  66880 24 Oct 12:47 /usr/bin/python
 0 -rwxr-xr-x  4 root  wheel    925 18 Aug 02:45 /usr/bin/python-config
 0 lrwxr-xr-x  1 root  wheel     75  8 Oct 21:45 /usr/bin/python2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
 0 lrwxr-xr-x  1 root  wheel     82  8 Oct 21:45 /usr/bin/python2.7-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
32 -rwxr-xr-x  1 root  wheel  66880 24 Oct 12:47 /usr/bin/pythonw
 0 lrwxr-xr-x  1 root  wheel     76  8 Oct 21:45 /usr/bin/pythonw2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7

请告知我如何使用Pipenv将python从3.6切换到2.7?

祝一切顺利,

嘉俊

1 个答案:

答案 0 :(得分:1)

您尝试pipenv install python 2.7.15的命令是错误的,原因有很多。

首先,命令pipenv的格式如下

pipenv install <package> <package>...

因此,当您运行pipenv install python 2.7.15时,您只是尝试安装两个分别称为python2.7.15的软件包,这显然不是您想要的。

即使您使用正确的语法pipenv install python==2.7.15也会出错,因为您将在另一个安装了python 3.6的python环境(笔记本电脑上的系统版本)内安装python 2.7.15。

如果要在同一环境中(以笔记本电脑读取)安装多个版本的Python,并且不弄乱系统版本,则应使用“ pyenv”(https://github.com/pyenv/pyenv)之类的东西。 Pyenv与pipenv的搭配非常好。

您将可以使用以下命令安装Python 2.7.15

pyenv install 2.7.15

如您所见,这与您已经尝试过的命令pipenv install python 2.7.15不同。

此外,由于您的Pipfile一直存在问题,我建议将该文件与Pipfile.lock一起移动到另一个目录(出于备份目的),并从头开始创建一个空目录。

也如此处https://pipenv.readthedocs.io/en/latest/所示,最好在根文件夹中创建一个空文件夹“ .venv”,该虚拟环境中的所有python依赖项都将安装在该文件夹中。

所以要运行的正确命令列表是

pyenv install 2.7.15
mkdir .venv
pipenv --python 2.7.15
pipenv install <package>

我希望这能解决您的问题