无法通过'pip install-I'降级Python包的版本`

无法通过'pip install-I'降级Python包的版本`,python,pip,Python,Pip,为了暂时解决兼容性问题,我尝试将Python包的版本从0.17.0降级到0.13.2 在特定的服务器上,我无法安装,因为下面的命令调用安装0.13.2,但最终安装回0.17.0。如果删除虚拟环境,并生成一个新的虚拟环境,然后新安装0.13.2,则它可以正常工作 我还在虚拟机上进行了测试,降级工作正常,没有这种症状 我想知道为什么,任何意见都将受到高度赞赏 (venv3.7) [user@host freeze]$ pip install -I arrow==0.13.2 Collecting a

为了暂时解决兼容性问题,我尝试将Python包的版本从0.17.0降级到0.13.2

在特定的服务器上,我无法安装,因为下面的命令调用安装0.13.2,但最终安装回0.17.0。如果删除虚拟环境,并生成一个新的虚拟环境,然后新安装0.13.2,则它可以正常工作

我还在虚拟机上进行了测试,降级工作正常,没有这种症状

我想知道为什么,任何意见都将受到高度赞赏

(venv3.7) [user@host freeze]$ pip install -I arrow==0.13.2
Collecting arrow==0.13.2
  Using cached arrow-0.13.2-py2.py3-none-any.whl (37 kB)
Collecting python-dateutil
  Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting six>=1.5
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Installing collected packages: six, python-dateutil, arrow
Successfully installed arrow-0.17.0 python-dateutil-2.8.1 six-1.15.0
(venv3.7) [user@host freeze]$
使用
--强制重新安装
而不是
-I,--忽略已安装的

-I
可以破坏现有安装,根据文档:

-I,--ignore installed
忽略已安装的软件包,覆盖它们。如果现有软件包的版本不同或安装了不同的软件包管理器,则可能会破坏您的系统

如果要安装比当前安装的版本旧的版本,则更适合使用
--force-reansall

--强制重新安装
重新安装所有软件包,即使它们已经是最新的

--强制重新安装
的演示:

$ pip install arrow==0.17.0
Collecting arrow==0.17.0
<... snip ...>
Successfully installed arrow-0.17.0

$ pip install --force-reinstall arrow==0.13.2
Collecting arrow==0.13.2
<... snip ...>
Attempting uninstall: arrow
Found existing installation: arrow 0.17.0
Uninstalling arrow-0.17.0:
  Successfully uninstalled arrow-0.17.0
Successfully installed arrow-0.13.2 python-dateutil-2.8.1 six-1.15.0

$ pip freeze | grep arrow
arrow==0.13.2
$pip安装箭头==0.17.0
收集箭头==0.17.0
已成功安装arrow-0.17.0
$pip安装--强制重新安装箭头==0.13.2
收集箭头==0.13.2
正在尝试卸载:箭头
找到现有安装:箭头0.17.0
正在卸载arrow-0.17.0:
已成功卸载arrow-0.17.0
已成功安装arrow-0.13.2 python-dateutil-2.8.1 six-1.15.0
$pip冻结| grep箭头
箭头==0.13.2
使用
--强制重新安装
而不是
-I,--忽略已安装的

-I
可以破坏现有安装,根据文档:

-I,--ignore installed
忽略已安装的软件包,覆盖它们。如果现有软件包的版本不同或安装了不同的软件包管理器,则可能会破坏您的系统

如果要安装比当前安装的版本旧的版本,则更适合使用
--force-reansall

--强制重新安装
重新安装所有软件包,即使它们已经是最新的

--强制重新安装
的演示:

$ pip install arrow==0.17.0
Collecting arrow==0.17.0
<... snip ...>
Successfully installed arrow-0.17.0

$ pip install --force-reinstall arrow==0.13.2
Collecting arrow==0.13.2
<... snip ...>
Attempting uninstall: arrow
Found existing installation: arrow 0.17.0
Uninstalling arrow-0.17.0:
  Successfully uninstalled arrow-0.17.0
Successfully installed arrow-0.13.2 python-dateutil-2.8.1 six-1.15.0

$ pip freeze | grep arrow
arrow==0.13.2
$pip安装箭头==0.17.0
收集箭头==0.17.0
已成功安装arrow-0.17.0
$pip安装--强制重新安装箭头==0.13.2
收集箭头==0.13.2
正在尝试卸载:箭头
找到现有安装:箭头0.17.0
正在卸载arrow-0.17.0:
已成功卸载arrow-0.17.0
已成功安装arrow-0.13.2 python-dateutil-2.8.1 six-1.15.0
$pip冻结| grep箭头
箭头==0.13.2

谢谢你的帮助,尼洛拉斯。是的,
——强制重新安装
对我很有效。谢谢你的帮助,尼洛拉斯。是的,
--强制重新安装
对我很有效。