使用pip更新软件包的方法是什么? 那些不起作用
pip update
pip upgrade
我知道这是一个简单的问题,但因为它不容易找到(pip documentation没有弹出,堆栈溢出的问题是相关的,但并不完全相关)
答案 0 :(得分:129)
方式是
sudo pip install [package_name] --upgrade
或简而言之
sudo pip install [package_name] -U
sudo
会要求输入您的root密码以确认操作。
如果你没有root密码(如果你不是管理员),你可能应该使用virtualenv,然后你应该放弃sudo
:
pip install [package_name] --upgrade
答案 1 :(得分:5)
如果只想升级一个软件包,请参阅@borgr的答案。我经常觉得有必要,或者至少是令人愉快的,一次升级我的所有软件包。目前,pip本身并不支持该操作,但是使用sh脚本已足够简单。您使用pip list
,awk
(或cut
和tail
)和命令替换。我通常的一线客是:
for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done
这将要求输入root密码。如果您无权访问,可以考虑使用pip
或--user
的virtualenv选项。
答案 2 :(得分:3)
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)
另存为xx.py
然后运行Python3 xx.py
环境:python3.5 + pip10.0 +
答案 3 :(得分:3)
在终端使用此代码:
python -m pip install --upgrade PAKAGE_NAME #instead of PAKAGE_NAME
例如,我要更新pip pakage:
python -m pip install --upgrade pip
更多示例:
python -m pip install --upgrade selenium
python -m pip install --upgrade requests
...
答案 4 :(得分:1)
对于非特定软件包和更通用的解决方案,您可以签出[pip-review][1]
。这是一个通用工具,用于检查可以/应该更新哪些软件包。
$ 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
答案 5 :(得分:0)
要升级适用于Python3.4 +的pip,必须使用pip3,如下所示:
sudo pip3 install pip --upgrade
这将升级位于/usr/local/lib/python3.X/dist-packages的pip
否则,要为Python2.7升级pip,请按以下方式使用pip:
sudo pip install pip --upgrade
这将升级位于/usr/local/lib/python2.7/dist-packages的pip
答案 6 :(得分:0)
$ pip install pipupgrade
$ pipupgrade --latest --interactive
pipupgrade 可帮助您从requirements.txt
文件中升级系统,本地文件或软件包!它还有选择地升级不会破坏更改的软件包。 pipupgrade还确保升级存在于多个Python环境中的软件包。与Python2.7 +,Python3.4 +和pip9 +,pip10 +,pip18 +,pip19 +兼容。