如何从我的虚拟环境内部更新/升级 pip 本身?
- 2025-02-14 09:49:00
- admin 原创
- 39
问题描述:
我可以更新 pip 管理的软件包,但是如何更新 pip 本身呢?根据pip --version
,我目前在虚拟环境中安装了 pip 1.1,我想更新到最新版本。
这个命令是什么?我需要使用分发吗?还是有原生的 pip 或 virtualenv 命令?我已经尝试过了pip update
,但pip update pip
没有成功。
解决方案 1:
pip
只是一个像其他包一样的PyPI 包;你可以使用它来升级自身,就像升级任何包一样:
pip install --upgrade pip
在 Windows 上,推荐的命令是:
py -m pip install --upgrade pip
解决方案 2:
更安全的方法是通过 python 模块运行 pip:
python -m pip install -U pip
在 Windows 上,尝试替换自身的二进制文件似乎存在问题,此方法可以解决该限制。
解决方案 3:
就我而言,我的 pip 版本已损坏,因此更新本身不起作用。
使固定:
(inside virtualenv):easy_install -U pip
解决方案 4:
我在 Debian Jessie 下尝试了上述所有解决方案。它们不起作用,因为它只采用 Debian 包管理器编译的最新版本,即 1.5.6,相当于版本 6.0.x。一些使用 pip 作为先决条件的包将无法工作,例如 spaCy(需要选项 --no-cache-dir 才能正常运行)。
因此,解决这些问题的最佳方法是运行使用 wget 从网站下载的get-pip.py或使用 curl,如下所示:
wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py
python ./get-pip.py
python3 ./get-pip.py
这将安装当前版本,在撰写本文时该解决方案是 9.0.1,远远超出了 Debian 所提供的版本。
$ pip --version
pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7)
$ pip3 --version
pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4)
解决方案 5:
对于Windows,
进入命令提示符
并使用此命令
python -m pip install -–upgrade pip
不要忘记重新启动编辑器,以避免任何错误
pip
您可以通过以下方式检查版本pip --version
pip
例如,如果你想安装任何特定版本,version 18.1
则使用此命令,python -m pip install pip==18.1
解决方案 6:
如果您正在使用 venv,则对 pip install 的任何更新都将导致升级系统 pip 而不是 venv pip。您还需要升级 pip 引导包。
python3 -m pip install --upgrade pip setuptools wheel
解决方案 7:
pip install --upgrade pip
在 UBUNTU 18.04 中执行上述命令时出现以下错误:
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/bin/pip'
Consider using the `--user` option or check the permissions.
以下命令解决了我的问题:
pip install --upgrade pip --user
解决方案 8:
由于可怕的证书问题,使用“ pip install --upgrade pip ”升级pip并不总是有效:确认ssl证书时出现问题:[SSL:TLSV1_ALERT_PROTOCOL_VERSION] tlsv1警报协议版本
我喜欢对虚拟环境使用一行命令:
curl https://bootstrap.pypa.io/get-pip.py | python -
或者如果你想要安装盒子宽,你需要
curl https://bootstrap.pypa.io/get-pip.py | sudo python -
如果您想在自动化脚本中运行时静音输出,可以给 curl 一个-s标志。
解决方案 9:
为了使它对我有用,我必须使用 Python 命令提示符(在 WIN10 上通过 VS CODE)深入 Python 目录。 在我的情况下,它在我的AppDataLocalProgramsPythonpython35-32
目录中。 从那里我运行命令...
python -m pip install --upgrade pip
这很有效,我可以走了。
解决方案 10:
对于 Linux
python3 -m pip install --upgrade pip
对于 Windows:
在 Windows 搜索框中键入命令提示符
在命令提示符中,输入
cd
按 Enter,您将看到驱动器名称
C:>
找到你的 Python 应用程序路径,即你最初安装 Python 的文件夹
以下是 Python 应用程序路径的示例:
C:UsersRonAppDataLocalProgramsPythonPython39
检索到 Python 应用程序路径后,在命令提示符中键入以下命令:
cd
后面跟着你的 Python 应用程序路径
对于我们的例子:
C:>cd C:UsersRonAppDataLocalProgramsPythonPython39
按 Enter 键
键入
python -m pip install --upgrade pip
并按 Enter
解决方案 11:
就我而言,这可以在 Debian Stable 的终端命令行中运行
python3 -m pip install --upgrade pip
解决方案 12:
以管理员权限打开命令提示符,然后重复该命令:
python -m pip install --upgrade pip
解决方案 13:
pip 版本 10 有问题。它会表现为以下错误:
ubuntu@mymachine-:~/mydir$ sudo pip install --upgrade pip
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
解决方法是在要升级的 venv 中然后运行:
sudo myvenv/bin/pip install --upgrade pip
而不仅仅是
sudo pip install --upgrade pip
解决方案 14:
我遇到了类似的情况,并想更新 urllib3 包。对我有用的是:
pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3
解决方案 15:
some_venv>python.exe -m install --upgrade pip
some_venv>pip -V
解决方案 16:
在我的 Windows 7 笔记本电脑上,安装最新版本的 pip 的正确方法是:
python.exe -m pip install --upgrade pip
解决方案 17:
首先,执行以下操作:
sudo apt install python3-pip python-setuptools-doc
然后,以非root
用户身份(永远不要pip*
以 root 身份运行!):
# N.B. bash shell works for this, I have never tested with other shells!
. ....your_virtualenv_folder/bin/activate
pip3 install -U pip
注意:据我所知,-U
是的同义词。--upgrade
解决方案 18:
我已经安装了 Python,C:PythonPython36
因此我转到 Windows 命令提示符并键入cd C:PythonPython36
以进入正确的目录。然后输入一切python -m install --upgrade pip
顺利!
解决方案 19:
单行 Python 程序
我发现最好的方法是编写一个单行程序来下载并运行官方 get-pip 脚本。请参阅下面的代码。
官方文档建议使用 curl 下载 get-pip 脚本,但由于我在 Windows 上工作并且没有安装 curl,所以我更喜欢使用 python 本身来下载并运行脚本。
下面是可以使用 Python 3 通过命令行运行的单行程序:
python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"
此行根据安装说明获取官方的“get-pip.py”脚本,并使用“exec”命令执行该脚本。
对于 Python2,你可以将“urllib.request”替换为“urllib2”:
python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"
注意事项
值得注意的是,盲目运行任何 Python 脚本都是非常危险的。因此,官方说明建议在运行前下载并检查脚本。
尽管如此,许多人实际上并不检查代码,只是运行它。这个一行程序使这变得更容易。
解决方案 20:
我在树莓派上也遇到了类似的问题。
问题是 http 需要 SSL,所以我需要强制它使用 https 来满足这个要求。
sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple
或者
sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/
解决方案 21:
转到命令提示符并输入以下内容:
python -m pip install --upgrade pip
解决方案 22:
在虚拟环境中更新 pip 时,请在 python 命令中使用完整路径
环境文件夹结构
myenv\scripts\python
h:olderNamemyenvscriptspython -m pip install --upgrade pip
解决方案 23:
在Linux中
我将用此代码更新
sudo -H pip3 install --upgrade pip