我运行Ubuntu 9:10,安装了一个名为M2Crypto的包(版本为0.19.1)。我需要下载、构建和安装最新版本的M2Crypto包(0.20.2)。

0.19.1包的文件位于多个位置,包括(/usr/share/ pshared和/usr/lib/pymodules.python2.6)。

在安装0.20.2之前,如何从系统中完全卸载0.19.1版本?


当前回答

方法一:手动升级


pip install package_name -U

方法二:一次性升级(如果部分包升级失败,有很大概率会回退)


pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade

方法三:循环升级


for i in  $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done

其他回答

软件包最初是如何安装的?如果是通过apt,你可以只做apt-get remove python-m2crypto

如果您通过easy_install安装它,我非常确定唯一的方法是丢弃lib、shared等目录下的文件。

我将来的建议是什么?使用像pip这样的工具来安装软件包。此外,您还可以查找名为virtualenv的东西,以便将包存储在每个环境的基础上,而不是仅存储在根目录上。

对于pip来说,这很简单:

pip install m2crypto

但是你也可以用正确的地址从git, svn等reppos安装。这些都在pip文档中进行了解释

在Juptyer笔记本上,一个很简单的方法就是

!pip install <package_name> --upgrade

因此,您只需要替换为实际的包名。

我认为最好的一句话是:

pip install --upgrade <package>==<version>

您可能想要查看像pip这样的Python包管理器。如果您不想使用Python包管理器,您应该能够下载M2Crypto并在旧的安装上构建/编译/安装。

方法一:手动升级


pip install package_name -U

方法二:一次性升级(如果部分包升级失败,有很大概率会回退)


pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade

方法三:循环升级


for i in  $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done