setuptools
提供了一种经常使用的方式来指定可选依赖项 extras_require
.有没有办法做相反的事情?也就是说,有
pip install mypackage
安装全套依赖项,但要有类似的东西
pip install mypackage[core]
或
pip install --core-option mypackage
只安装一组有限的核心依赖项?它不必像 extras_require
,只是在 pip 安装中指定仅需要核心依赖项的某种方式。
(对于某些包,在安装方面打破向后兼容性是一个困难的选择,尤其是当大多数用户需要所有依赖项时。然而,一些用户可能需要避免核心功能不需要的大量或损坏的依赖项。 )
最佳答案
如果一个库是依赖的,这意味着您的代码需要它并且没有它就无法工作,所以我认为使用标志是不可能的。
所以我会在根目录中保留一个 requirements.txt
用于核心功能,并在其旁边保留一个 optional-requirements.txt
。
连同 readme.md
中的简短指南,使用 pip install requirements.txt
获取核心和 pip install optional-requirements.txt
以获取代码运行不需要的其他内容。喜欢更好的调试。
我强烈建议在自述文件中加入您安装或未安装可选包的不同之处。
关于python - 在 `pip install` ing 时可选择排除一些依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67165092/