如何在pip需求文件中指定可选的依赖项?根据{{3}}这是可能的,但文档没有解释如何做到这一点,我在网上找不到任何例子。
答案 0 :(得分:28)
您可以创建optional-requirements.txt
和requirements.txt
,而不是在硬性要求的同一文件中指定可选的依赖项。
要将当前环境的包导出到文本文件中,您可以执行以下操作:
pip freeze > requirements.txt
如有必要,修改requirements.txt的内容以准确表示项目的依赖关系。然后,要在此文件中安装所有软件包,请运行:
pip install -U -r requirements.txt
-U
告诉pip
将软件包升级到最新版本,-r
告诉它在requirements.txt中安装所有软件包。
答案 1 :(得分:12)
2015年PEP-0508定义了一种在requirements.txt
中指定可选依赖项的方法:
requests[security]
这意味着yourpackage
需要requests
作为其安全选项。您可以将其安装为:
pip install yourpackage[security]
答案 2 :(得分:1)
你误解了文档;它们并不像它们那样清晰。文档中的要点是,使用需求文件,您可以随意指定完整的推荐工作包集,包括必要的依赖项和可选的依赖项。您可以添加注释(以#开头的行)以区分两者与人类,但pip没有区别。您也可以使用两个需求文件,如Daniel建议的那样。