【发布时间】:2021-07-07 20:27:00
【问题描述】:
我遇到了关于 pip (Python 2.7.14) 的版本控制问题。我将 pip 更新到版本 20.3.3。然后安装python包。我为每个包指定了版本。安装 sympy 1.3 版时出现问题(命令行代码如下所示):
C:\Python27\python.exe C:\Python27\Scripts\pip.exe install --no-cache-dir sympy==1.3
sympy 安装 0.19 版 mpmath 作为依赖项。 pip 继续说它正在下载 mpmath 0.19 版,但随后尝试安装 1.2.1 版。 pip 然后返回一个错误,指出安装失败。可以通过首先直接安装 mpmath 版本 0.19,然后继续安装 sympy 版本 1.3 来解决此问题。由于已经满足 mpmath 依赖,sympy 会跳过尝试下载和安装 mpmath。 sympy 就可以安装成功了。
当 pip 从其他包安装依赖项时,有没有办法控制依赖项的版本?我希望能够控制所有版本,以确保我的软件随着时间的推移产生相同的结果。
【问题讨论】:
-
“当 pip 从其他包安装依赖项时,有没有办法控制依赖项的版本?” 请参阅包可能具有的可选
requirements.txt文件。不知道可靠的方法(除非您要破解目标包的requirements.txt)。如果我要手动保证安装了特定版本的依赖包,我该怎么办:pip install mypath==0.19 -
这几乎肯定是重复的,请参阅pip requirements.txt version dependency上的相关问题
-
感谢您输入 smci。我担心的是,通过指定必要软件包的版本,我的安装程序包已经运行了好几年了。 mpmath 是 sympy 的依赖项(mpmath 不是直接导入到我的软件中,而 sympy 是直接导入的)。但是现在,出乎意料的是,当重新安装软件时,由于 pip 无法控制(看似)sympy 的依赖项(mpmath)版本的问题,sympy 无法安装。我希望避免将来在其他人使用该软件时出现类似的问题。