使用 --pre 标志仅安装特定依赖项

Lai*_*kus 9 python dependencies pip setuptools setup.py

  • 我的团队致力于包“A”和“B”。
  • 包“A”依赖于包“B”,但也依赖于第三方包“C”。
  • 我正在开发包“A”预发布版本,并希望安装属于同一团队的所有预发布依赖项。我只是运行pip install . --pre --upgrade(它有效,因为依赖项是在 中指定的setup.py),然后我突然发现该--pre标志已传播到第 3 方依赖项“C”。我不想那样 - 我只想安装我的预发行版。

问题:区分内部/外部依赖关系的最明智的方法是什么?


PS我已经想到了一些解决方案,但它们看起来不是很优雅。

解决方案 1:使用两个requirement.txt 文件。一个将包含内部依赖项并将使用--pre标志运行。另一个将包含第 3 方依赖项,并且将在没有该标志的情况下运行。