如何更新Python包?

343 投票
13 回答
830822 浏览
提问于 2025-04-16 12:56

我现在在用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,然后在旧的安装基础上进行构建、编译和安装。

撰写回答