我不断收到升级 pip 的消息

I keep getting a message to upgrade pip

每当我创建一个 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.

更新: 刚刚收到阅读此可能重复答案的建议:

但这并没有解决我的问题。为什么?

我的 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 的回答。

从 bat 文件更新 pip:

call .\venv\Scripts\activate
py -m pip install --upgrade pip
call deactivate

或者如果你在 VS Code 集成终端

& venv/Scripts/activate.ps1
py -m pip install --upgrade pip

在我看来,您有多个 python 环境,其中一个环境没有升级的 pip。您有 2 个选项:

  • 导航到每个文件夹并更新每个 pip
  • 你可以删除所有这些,重新安装并在将来使用正确的 pip 使用 virtualenv
  • 安装一些 IDE(例如 PyCharm)可以自动为您处理并直观地显示所有问题

问题似乎是 虚拟环境使用的是旧版本的 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 notesvirtualenv==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。)

升级 pip 时会卸载旧版本,但如果旧版本在不同的地方则不能,因此最终会出现两个不同的 pip 版本。检查您在根 PYTHONPATH 上的安装。 另外 PYTHONPATH 可能与系统路径不同。

这是您问题的解决方案。

步骤 1: 运行 在您的 shell 或 jupyter 笔记本中执行此命令 它将安全地从 pypa

下载 get-pip.py
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

步骤 2: 运行 下面的代码

python get-pip.py

对我来说我只是运行:

pip install -U virtualenv

然后我的问题就解决了。

我从@James-lim那里得到了这个答案 非常感谢他。