每当我创建一个 venv 时,我都会收到一条消息,要求我升级 pip。我运行升级命令,它在另一个 venv 上再次弹出。我怎样才能使它永久化。
留言:
You are using pip version 9.0.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
更新: 刚刚收到阅读此可能重复答案的建议:virtualenv use upgraded system default pip
但这并不能解决我的问题。为什么?
我的 pip3
似乎已经是最新的:
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 install --upgrade pip
Requirement already up-to-date: pip in c:\users\mkupfer\appdata\local\programs\p
ython\python36-32\lib\site-packages (18.0)
已解决
解决方案:我能够通过使用 virtualenv
创建一个新的虚拟环境来完全解决这个问题。不确定这是否是 venv
中的错误。我只是使用可以继续工作的包。感谢@James Lim 的回答。
最佳答案
问题似乎是 新 虚拟环境使用的是旧版本的 pip。请注意,pip 是从 virtualenv 附带的源 tarfile(或 wheel)安装的,位于 site-packages/virtualenv_support
目录中。
$ ls -l /path/to/site-packages/virtualenv_support
pip-9.1-py2.py3-none-any.whl
解决此问题的一种快速方法是确保在创建新的 virtualenv 时升级 pip,如下所示:
$ virtualenv venv
$ venv/bin/pip install -U pip
或者,确保你有最新版本的 virtualenv。根据他们的release notes , virtualenv==16
正在使用 pip==10
。
$ pip install -U virtualenv
最后,由于 virtualenv 在 virtualenv_support
中寻找 pip*.whl
,这也可以工作:
$ mv /path/to/site-packages/virtualenv_support/pip*.whl{,bak}
$ pip wheel -w /path/to/site-packages/virtualenv_support/ 'pip==18'
所有新的 virtualenvs 都将使用您安装到 virtualenv_support
中的 pip 版本。然而,这感觉很糟糕。
(尝试使用 virtualenv==16
。这会导致所有新的 virtualenvs 都具有 pip==18。)
关于python - 我不断收到升级 pip 的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51644402/