【发布时间】:2018-10-26 04:47:08
【问题描述】:
背景
pip install 命令默认安装最新的稳定版 python 包(稳定版由PEP426 指定)
pip install 命令的标志 --pre 告诉 pip 还考虑发布候选版本和开发版本的 Python 包。不过,据我了解,pip install --pre packageA 它将安装 packageA 的开发版本,但也会安装其所有依赖项的开发版本。
问题是:
是否可以使用 pip 来安装软件包的开发版本但其所有依赖项的稳定版本?
尝试的解决方案
我尝试过的一件事是安装包的稳定版本(具有稳定依赖项),然后重新安装没有依赖项的开发版本:
pip install packageA
pip install --pre --no-deps --upgrade --force-reinstall packageA
但问题是,如果packageA的开发版本添加了新的依赖项,它将不会被安装。
我错过了什么?谢谢!
【问题讨论】:
-
写一个带有固定版本号的
requirements.txt。但请确保符合依赖项的条件。 -
但我不想固定任何软件包的版本...我想要一种可自动化的方式来安装最新版本的
packageA(稳定与否,就像--pre会做的那样)及其依赖项的最新 stable 版本。我不知道如何在requirements.txt中应用这些约束,而无需在任何时候手动更改版本号...