我运行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 --upgrade <package>==<version>

其他回答

我认为最好的一句话是:

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

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

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

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

对于pip来说,这很简单:

pip install m2crypto

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

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

要自动升级所有过时的包(使用pip安装的),只需运行下面的脚本,

pip install $(pip list --outdated | awk '{ print $1 }') --upgrade

这里,pip list——outdated将列出所有过期的包,然后我们将其管道到awk,因此它将只打印名称。 然后,$(…)将使它成为一个变量,然后,一切都自动完成。确保您拥有权限。(如果你不明白,可以把sudo放在pip前面) 我会写一个名为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,瞧!

例如:

python -m pip install --proxy <proxyserver_name>:<port#> <pkg_name> 

记住,在设置变量后导出变量,使它们可用于外壳会话。

窗口:

添加到环境变量:

set HTTP_PROXY=<proxyserver_name>:<port#>

你可能必须先安装完整的python包