安装我的python包时,我希望能够告诉用户各种可选的依赖项。理想情况下,我还想打印一条关于这些可选要求的信息以及它们各自的要求。
我还没有在pip或docutils的文档中看到任何东西。这些工具是否支持可选的依赖项?
答案 0 :(得分:19)
这些被称为额外内容,here is how to use them in your setup.py。
基本支持位于pkg_resources中。您需要在setup.py
中启用分发。 pip也会理解他们:
pip install 'package[extras]'
答案 1 :(得分:2)
是的,@ Tobu指出并解释了here。在setup.py
文件中,您可以添加如下一行:
extras_require = {
'full': ['matplotlib', 'tensorflow', 'numpy', 'tikzplotlib']
}
我有here这一行的示例。
现在,您可以通过pip install package_name
之类的PIP基本/原始程序包进行安装,也可以通过pip install package_name[full]
等具有所有可选依赖项的程序包进行安装
package_name
是包裹的名称,full
是因为我们在extras_require
字典中放入了“ full”,但这取决于您输入的名字。
如果有人对如何编写可使用或不使用软件包的库感兴趣,我建议this answer