安装需要vs需求文件¶
install_requires¶
install_requires
是一个 setuptools setup.py
用于指定项目内容的关键字 最低限度 需要正确运行。当项目由安装时 pip ,这是用于安装其依赖项的规范。
例如,如果项目需要a和b,则 install_requires
希望如此:
install_requires=[
'A',
'B'
]
此外,最好指示任何已知的下限或上限。
例如,可以知道,您的项目至少需要“a”的v1和“b”的v2,所以应该是这样的:
install_requires=[
'A>=1',
'B>=2'
]
也可以知道,项目A遵循语义版本控制,“A”的v2将指示兼容性中断,因此不允许v2是有意义的:
install_requires=[
'A>=1,<2',
'B>=2'
]
使用它不是最佳实践 install_requires
将依赖项固定到特定版本,或指定子依赖项(即依赖项的依赖项)。这是过度限制的,并阻止用户获得依赖性升级的好处。
最后,了解这一点很重要 install_requires
是一个“抽象”需求列表,即名称和版本限制,它们不能确定依赖项将从何处实现(即从哪个索引或源)。在安装时,使用 pip 选项。 1
需求文件¶
Requirements Files 最简单的描述就是 pip install 放入文件中的参数。
鉴于 install_requires
定义单个项目的依赖项, Requirements Files 通常用于定义完整的Python环境的需求。
鉴于 install_requires
需求是最小的,需求文件通常包含一个完整的固定版本列表,以实现 repeatable installations 一个完整的环境。
鉴于 install_requires
需求是“抽象的”,即不与任何特定索引关联,需求文件通常包含PIP选项,如 --index-url
或 --find-links
使需求“具体化”,即与特定的包索引或目录相关联。 1
鉴于 install_requires
元数据在安装过程中由PIP自动分析,而需求文件不是,只有当用户使用 pip install -r
.