虚拟环境使用升级后的系统默认pip

4

如何让我的虚拟环境使用我系统升级后的pip?
在创建虚拟环境之前,pip显示版本为9.0.1,但在虚拟环境内它会回退到8.1.1版本,这迫使我升级所有的虚拟环境pips。

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip --version
pip 8.1.1 from /tmp/venv/lib/python3.5/site-packages (python 3.5)
(venv) $ pip install --upgrade pip
(venv) $ pip --version
pip 9.0.1 from /tmp/venv/lib/python3.5/site-packages (python 3.5)

我应该将 pip==9.0.1 添加到我的 requirements.txt 文件的第一行吗? - JDiMatteo
我猜你安装了不止一个Python? - georgexsh
当在虚拟环境之外调用 pip3 --version 时,会返回什么? - Luke Smith
1
我明白了,pip3 install -U pip 这个命令可以帮你解决问题。 - georgexsh
1个回答

5
当您使用以下命令创建虚拟环境时:

virtualenv的命令:

python3 -m venv venv

您当前的Python 3安装将作为虚拟环境的基础。
运行以下命令:
pip3 install --upgrade pip

如果需要升级pip版本,您可以在虚拟环境之外进行升级,然后创建一个新的虚拟环境。


虚拟环境激活后,我应该只使用普通的 pythonpip,而不需要使用 3 后缀,对吗? - JDiMatteo
1
是的,在您的 venv/bin/ 目录中,pythonpython3 的符号链接已经被创建。 - Luke Smith
2
这些指令在我的Ubuntu 14.04上可行,但在Ubuntu 16.04上不行。在Ubuntu 16.04上,在venv之外运行pip3 --version显示 pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)。然后,python3 -m venv venv 显示 pip 8.1.1 from /tmp/venv/lib/python3.5/site-packages (python 3.5) - JDiMatteo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接