所以我正在从头开始创建一个全新的 Flask 应用程序。正如所有优秀的开发人员所做的那样,我的第一步是创建一个虚拟环境。
我在虚拟环境中安装的第一件事是 Flask==0.11.1
。 Flask 安装以下依赖项:
- 点击==6.6
- 它危险==0.24
- Jinja2==2.8
- 标记安全==0.23
- Werkzeug==0.11.11
- 车轮==0.24.0
现在,我创建了一个 requirements.txt 以确保每个克隆存储库的人都拥有相同版本的库。但是,我的困境是:
- 我是否在 requirements.txt 中提及每个 Flask 依赖项以及版本号,或者
- 我是否只在 requirements.txt 中提及确切的 Flask 版本号,并希望当他们执行 pip install requirements.txt 时,Flask 将负责依赖管理,他们将下载正确版本的依赖库
原文由 Amistad 发布,翻译遵循 CC BY-SA 4.0 许可协议
这两种方法都是有效的并且有效。但是有一点不同。当您在
requirements.txt
中输入所有依赖项时,您将能够固定它们的版本。如果您将它们排除在外,可能会有稍后的更新,并且如果 Flask 在其依赖项中有类似Werkzeug>=0.11
类的东西,您将安装更新版本的 Werkzeug。所以它归结为更新与定义的环境。什么更适合你。