用pip安装特定的软件包版本

我试图安装MySQL_python适配器的1.2.2版本,使用一个新的--no-site-packages选项创build的virtualenv。 在PyPi中显示的当前版本是1.2.3 。 有没有办法安装旧版本? 我发现一篇文章说这应该这样做:

 pip install MySQL_python==1.2.2 

但是,在安装时,它仍然在站点包中显示MySQL_python-1.2.3-py2.6.egg-info。 这是一个特定于这个包的问题,​​还是我做错了什么?

首先,我看到你想要做的两件事情。 既然你已经有一个安装的版本,你应该卸载当前现有的驱动程序或使用pip install -I MySQL_python==1.2.2

不过,你很快就会发现这是行不通的。 如果您查看pip的安装日志,或者如果您执行pip install -Iv MySQL_python==1.2.2 ,则会发现PyPI URL链接对于MySQL_python v1.2.2不起作用。 你可以在这里validation: http : //pypi.python.org/pypi/MySQL-python/1.2.2

由于sourceforge.net最近的升级和PyPI的陈旧URL,下载链接404和回退URL链接将无限redirect。

所以要正确安装驱动程序,可以按照以下步骤操作:

 pip uninstall MySQL_python pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download 

您甚至可以使用pip install命令来使用版本范围。 像这样的东西:

 pip install 'stevedore>=1.3.0,<1.4.0' 

在这篇文章中build议的一种方法是提到pip版本

pip install -Iv MySQL_python==1.2.2

即使用==并提及版本号来安装该版本。 -I, --ignore-installed忽略已安装的软件包。

我相信,如果你已经安装了一个软件包,pip将不会用另一个版本来覆盖它。 使用-I忽略以前的版本。

Interesting Posts