【发布时间】:2015-04-11 12:36:55
【问题描述】:
我正在使用一些 github django 包的前沿版本,这些包具有我不想安装的依赖项。
在开发中,在我自己的计算机上,我可以在命令行中使用pip install 并使用--no-dependencies 标志。但是,我的测试和生产环境需要一个需求文件来进行部署。不幸的是,--no-dependencies 标志不能在需求文件中使用,如下所述:https://pip.pypa.io/en/latest/reference/pip_install.html#requirements-file-format。
有没有办法告诉 pip 在使用需求文件时不要安装依赖项?
【问题讨论】:
-
依赖意味着包作者说的是使用包所必需的。我怀疑大多数包管理器会让您以损坏的方式安装包。也许它适用于您的用例,但用户可能会安装您的包并最终导致另一个包的安装损坏。如果其他包并不真正需要这些依赖项(即:它们是可选的),您应该联系包维护者并让他们知道改为extras。
-
所以您想安装软件,而不安装软件运行所需的必要条件?我建议不要。
-
看起来 Pip 应该按照与需求文件中列出的顺序相同的顺序安装包,但是“这不是承诺”(pip.pypa.io/en/latest/reference/…)。在我的特殊情况下,这做得对,但这可能不是所有人都能接受的解决方案......
-
@Peter:我正在使用一个需要 Django 1.6 但与 Django 1.7 配合使用的包。到目前为止,我的项目运行良好,所以我决定绕过这个给定的要求。
-
将需求文件更改为 1.7。
标签: python pip requirements.txt