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

时间:2017-11-02 09:03:54

标签: python pip

使用pip更新软件包的方法是什么? 那些不起作用

pip update
pip upgrade

我知道这是一个简单的问题,但因为它不容易找到(pip documentation没有弹出,堆栈溢出的问题是相关的,但并不完全相关)

7 个答案:

答案 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 listawk(或cuttail)和命令替换。我通常的一线客是:

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

这将要求输入root密码。如果您无权访问,可以考虑使用pip--uservirtualenv选项。

答案 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)

使用pipupgrade

$ pip install pipupgrade
$ pipupgrade --latest --interactive

pipupgrade 可帮助您从requirements.txt文件中升级系统,本地文件或软件包!它还有选择地升级不会破坏更改的软件包。 pipupgrade还确保升级存在于多个Python环境中的软件包。与Python2.7 +,Python3.4 +和pip9 +,pip10 +,pip18 +,pip19 +兼容。

enter image description here