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

2024-04-18 23:45:16 发布

您现在位置:Python中文网/ 问答频道 /正文

使用pip更新包的方法是什么? 它们不起作用:

pip update
pip upgrade

我知道这是一个简单的问题,但它是必需的,因为它不太容易找到(pipdocumentation不会弹出,堆栈溢出的其他问题与此相关,但并不完全相关)


Tags: pip方法堆栈updateupgradepipdocumentation
3条回答

方法是

sudo pip install [package_name] --upgrade

或者简而言之

sudo pip install [package_name] -U

sudo将要求输入您的根密码以确认操作。

如果您没有根密码(如果您不是管理员),您可能应该使用virtualenv,然后您应该删除sudo

pip install [package_name] --upgrade

tl;dr脚本以更新所有已安装的包

如果只想升级一个包,请参阅@borgr的answer。我经常觉得有必要,或者至少是令人高兴的,一次升级我所有的软件包。目前,pip本机不支持该操作,但使用sh脚本就足够简单了。使用pip listawk(或cuttail)和命令替换。我通常的一句话是:

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

这将要求输入根密码。如果您没有访问权限,那么pipvirtualenv中的^{}选项可能是需要研究的内容。

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)

Save as xx.py
Then run Python3 xx.py
Environment: python3.5+ pip10.0+

相关问题 更多 >