管理 Python 虚拟环境的 requirements.txt 的内容

新手上路,请多包涵

所以我正在从头开始创建一个全新的 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 许可协议

阅读 388
2 个回答

这两种方法都是有效的并且有效。但是有一点不同。当您在 requirements.txt 中输入所有依赖项时,您将能够固定它们的版本。如果您将它们排除在外,可能会有稍后的更新,并且如果 Flask 在其依赖项中有类似 Werkzeug>=0.11 类的东西,您将安装更新版本的 Werkzeug。

所以它归结为更新与定义的环境。什么更适合你。

原文由 Klaus D. 发布,翻译遵循 CC BY-SA 3.0 许可协议

这里的一件好事是您正在使用 virtualenv,这将使您的任务变得非常容易。

  1. 激活虚拟环境( $source path_to_virtualenv/bin/activate

  2. 转到您的项目根目录

  3. 在 requirements.txt 中获取所有包以及依赖项

   pip freeze > requirements.txt

  1. 除了确保下一个人通过以下命令递归安装要求外,您不必担心其他任何事情
   pip install -r requirements.txt

原文由 Vishvajit Pathak 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题