Python - 指定要使用的库版本对于所有库

问题描述

如何在 Python 项目中列出所有库及其版本?
(类似于 Java maven pom.xml 和 Node.js npm 'package.json')

definitely way to specify that on command line
例如pip install pandas==0.23,但希望会在自述文件中列出,但很可能会被遗忘。

还有 pipconda,它们是否解决了这个问题?或者也许其他第三种工具试图统一 pip 或 conda 的使用?

解决方法

two main mechanisms 用于指定包/存储库的库:

  • 对于可以随所有依赖项一起安装的开箱即用软件包,请使用 setup.py/pyproject.toml。包管理器使用它们来自动安装包安装所需的依赖项。
  • 对于可能包含多个软件包的给定设置的可重现安装,请使用 requirements.txt。包管理器使用它们显式安装所需的依赖项。

值得注意的是,两者处理不同的用例:包依赖项定义了一般依赖项,仅在兼容性需要时将依赖项版本限制为特定范围。需求定义了精确依赖项,限制所有直接和间接依赖项版本复制一些预先存在的设置。