如何使用pip更新/升级包?

使用pip更新包的方法是什么? 这些不工作:

pip update
pip upgrade

我知道这是一个简单的问题,但它是需要的,因为它不那么容易找到(pip 文档不弹出和堆栈溢出的其他问题是相关的,但不完全是关于这个)

862048 次浏览

方法是

pip install <package_name> --upgrade

简而言之

pip install <package_name> -U

使用sudo将要求输入根密码来确认操作,但虽然很常见,但被认为是不安全的

如果你没有根密码(如果你不是管理员),你可能应该使用virtualenv

您还可以使用用户标志仅在该用户上安装它。

pip install <package_name> --upgrade --user
import subprocess as sbp
import pip
pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True,
stdout=sbp.PIPE).stdout, encoding='utf-8'))
for pkg in pkgs:
sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)
< p > 保存为xx.py < br > 然后运行Python3 xx.py < br > python3.5+ pip10.0+

更新所有已安装的包

如果你只想升级一个包,参考@borgr的回答。我经常发现一次升级所有的包是必要的,或者至少是令人愉快的。目前,pip本身不支持该操作,但是使用sh脚本就足够简单了。你可以使用pip listawk(或cuttail)和命令替换。我经常说的一句话是:

for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done

这将要求输入根密码。如果你不能访问它,pipvirtualenv--user选项可能是值得考虑的。

对于非特定的包和更通用的解决方案,你可以检查pip-review。检查哪些包可以/应该更新的工具。

如何安装:

$ pip install pip-review

然后运行:

$ pip-review --interactive
requests==0.14.0 is available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y

当偏离主题时,人们可能会到达这个问题,希望更新pip本身(参见在这里)。

要为Python3.4+升级pip,必须按如下方式使用pip3:

sudo pip3 install pip --upgrade

这将升级位于:/usr/local/lib/python3.的pipX / dist-packages

否则,要为Python2.7升级pip,您可以如下所示使用pip:

sudo pip install pip --upgrade

这将升级位于:/usr/local/lib/python2.7/dist-packages的pip

在终端中使用此代码:

python -m pip install --upgrade PACKAGE_NAME

例如,我想更新pip包:

python -m pip install --upgrade pip

更多的例子:

python -m pip install --upgrade selenium
python -m pip install --upgrade requests
...

在命令提示符中执行以下命令,

C:\Users\Owner\AppData\Local\Programs\Python\Python310>python -m pip install --upgrade pip

输出如下所示,

Requirement already satisfied: pip in c:\users\owner\appdata\local\programs\python\python310\lib\site-packages (21.2.4)
Collecting pip
Downloading pip-22.0.3-py3-none-any.whl (2.1 MB)
|████████████████████████████████| 2.1 MB 3.3 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.2.4
Uninstalling pip-21.2.4:
Successfully uninstalled pip-21.2.4
Successfully installed pip-22.0.3

我使用下面的行来更新我所有过期的包:

pip list --outdated --format=freeze | awk -F '==' '{print $1}' | xargs -n1 pip install -U

此外,在Jupyter笔记本中,通过在代码单元中运行下面的代码,您可以更新您的包:

!pip install <package_name> --upgrade