Answers:
方式是
sudo pip install [package_name] --upgrade
或总之
sudo pip install [package_name] -U
sudo
会要求输入您的root密码以确认操作。
如果您没有root密码(如果您不是管理员),则可能应该使用virtualenv,然后删除sudo
:
pip install [package_name] --upgrade
pip --help
这让我感到困惑……
upgrade
可以回答您所看到的内容的命令,这是一个好问题。(意思是,如果您使用“升级”,它只会执行install
+的--upgrade
操作。)某种“别名”。
对于非特定软件包和更通用的解决方案,您可以签出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
tl; dr脚本更新所有已安装的软件包
如果只想升级一个软件包,请参考@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密码。如果您没有访问权限,则--user
可以考虑使用pip
or或virtualenv选项。
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 +
print('updating ', pkg['name'])
要为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
这将升级位于以下位置的pip:/usr/local/lib/python2.7/dist-packages
pip install --help
说:-U, --upgrade Upgrade all specified packages to the newest available version.
。因此,它应该是大写字母-U
,而不是-u
。