我正在尝试安装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。这是这个包特有的问题,还是我做错了什么?
我正在尝试安装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。这是这个包特有的问题,还是我做错了什么?
当前回答
有时会缓存以前安装的版本。
~$ pip install pillow==5.2.0
它返回以下内容:已满足要求:枕边==5.2.0 in/home/ubuntu/anaconda3/lib/python3.6/site-packages(5.2.0)
我们可以使用--no-cache-dir和-I来覆盖这个
~$ pip install --no-cache-dir -I pillow==5.2.0
其他回答
依赖打包有了一个新版本,它从代码库中删除了LegacyVersion快速解决方案可能是引脚封装==21.3
我相信,如果你已经安装了一个软件包,pip不会用另一个版本覆盖它。使用-I忽略以前的版本。
正如本文所建议的,一种方法是在pip中提到版本:
pip install -Iv MySQL_python==1.2.2
即使用==并提及版本号以仅安装该版本-一、 --忽略已安装程序包忽略已安装的程序包。
由于这似乎是pip第10版中引入的一个突破性更改,我降级为兼容版本:
pip install 'pip<10'
此命令告诉pip安装低于版本10的模块版本。在virutalenv中执行此操作,这样您就不会破坏Python的站点安装。
有两种方法可以安装版本为的任何软件包:-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*