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

2022-09-05 00:52:34

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

pip install MySQL_python==1.2.2

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


答案 1

TL;DR

  • pip install -Iv(即pip install -Iv MySQL_python==1.2.2)

这些选项的含义:

  • -I代表哪个将忽略已安装的软件包,覆盖它们。--ignore-installed
  • -v表示详细。您可以组合以获得更详细(即)最多3次(例如)。-vv-Ivvv

有关详细信息,请参阅pip install --help

首先,我看到你试图做的事情有两个问题。由于您已经安装了一个版本,因此应卸载当前现有的驱动程序或使用pip install -I MySQL_python==1.2.2

但是,您很快就会发现这不起作用。如果你查看pip的安装日志,或者如果你做一个,你会发现PyPI URL链接不适用于MySQL_python v1.2.2。您可以在此处验证这一点:http://pypi.python.org/pypi/MySQL-python/1.2.2pip install -Iv MySQL_python==1.2.2

下载链接404s和回退URL链接由于sourceforge.net最近的升级和PyPI的过时URL而无限重定向。

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

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

答案 2

您甚至可以将版本范围与命令一起使用。像这样:pip install

pip install 'stevedore>=1.3.0,<1.4.0'

如果软件包已安装,并且您想要降级,请按如下方式添加:--force-reinstall

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