如何更新Python包?
我现在在用Ubuntu 9:10,已经安装了一个叫M2Crypto的包(版本是0.19.1)。我需要下载、构建并安装最新版本的M2Crypto包(0.20.2)。
这个0.19.1的包在好几个地方都有文件,比如说在(/usr/share/pyshared和/usr/lib/pymodules.python2.6)这些位置。
在安装0.20.2之前,我该如何彻底卸载掉系统里的0.19.1版本呢?
13 个回答
57
要自动升级所有过时的包(也就是用pip安装的那些),只需运行下面的脚本。
pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
这里,pip list --outdated
会列出所有过时的包,然后我们把这个列表传给awk,这样它就只会打印出包的名字。接着,$(...)
会把这个结果变成一个变量,然后一切就会自动完成。确保你有权限执行这个操作。(如果你不确定,可以在pip前面加上sudo
)我会写一个叫做pip-upgrade
的脚本。下面是代码:
#!/bin/bash
sudo pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
然后使用以下几行代码来准备它:
sudo chmod +x pip-upgrade
sudo cp pip-upgrade /usr/bin/
最后,只需输入pip-upgrade
,就大功告成了!
623
我找到的最好方法是从终端运行这个命令。
sudo pip install [package_name] --upgrade
sudo
命令会要求你输入管理员密码来确认这个操作。
注意:有些用户可能安装的是 pip3。在这种情况下,请使用:
sudo pip3 install [package_name] --upgrade
68
你可以考虑使用一个叫做 pip 的Python包管理工具。如果你不想用这个包管理工具,也可以直接下载M2Crypto,然后在旧的安装基础上进行构建、编译和安装。