用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
忽略以前的版本。