我正在尝试安装MySQL_python的1.2.2版本,使用使用--no site packages选项创建的新virtualenv。PyPi中显示的当前版本是1.2.3。有没有办法安装旧版本?我尝试过:

pip install MySQL_python==1.2.2

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


当前回答

您甚至可以使用pipinstall命令的版本范围。类似于:

pip install 'stevedore>=1.3.0,<1.4.0'

如果软件包已经安装,并且您希望降级,请添加--强制重新安装,如下所示:

pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall

其他回答

有两种方法可以安装版本为的任何软件包:-A) 。pip安装-Iv包名称==版本B) 。pip安装-v包名称==版本

对于A

在这里,如果您在安装时使用-I选项(当您不知道软件包是否已安装时)(例如“pip-install-Iv-pyreadline==2.*”或其他),那么您将安装一个新的独立软件包,该软件包与具有不同版本的现有软件包相同。

对于B

首先,您可能需要检查是否没有违反要求。管道检查

2.然后查看已安装的pip列表

3.如果软件包列表中包含您希望使用特定版本安装的任何软件包,则更好的选择是先卸载此版本的软件包,方法是:pip卸载包名称

4.现在,您可以继续使用特定版本重新安装相同的软件包pip安装-v包名称==版本例如pip-install-vpyreadline==2*

如果您想更新到最新版本,但不知道最新版本是什么,您可以键入。

pip安装MySQL_python--升级

这将更新MySQL_python的最新版本,您可以将其用于任何其他软件包版本。

依赖打包有了一个新版本,它从代码库中删除了LegacyVersion快速解决方案可能是引脚封装==21.3

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

正如本文所建议的,一种方法是在pip中提到版本:

pip install -Iv MySQL_python==1.2.2

即使用==并提及版本号以仅安装该版本-一、 --忽略已安装程序包忽略已安装的程序包。