pip需求文件中的可选依赖项

时间:2010-09-08 03:37:54

标签: python dependencies pip pypi

如何在pip需求文件中指定可选的依赖项?根据{{​​3}}这是可能的,但文档没有解释如何做到这一点,我在网上找不到任何例子。

3 个答案:

答案 0 :(得分:28)

您可以创建optional-requirements.txtrequirements.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建议的那样。