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

Ami*_*tad 8 python pip virtualenv requirements.txt

所以我从头开始创建一个全新的Flask应用程序.正如所有优秀的开发人员所做的那样,我的第一步是创建虚拟环境.

我在虚拟环境中安装的第一件事是Flask==0.11.1.Flask安装以下依赖项:

  • 点击== 6.6
  • itsdangerous == 0.24
  • Jinja2的== 2.8
  • MarkupSafe == 0.23
  • WERKZEUG == 0.11.11
  • 轮== 0.24.0

现在,我创建了一个requirements.txt,以确保每个克隆存储库的人都拥有相同版本的库.但是,我的困境是这样的:

  • 我是否在requirements.txt中提及每个Flask依赖项以及版本号OR
  • 我是否只需要requirements.txt中提及确切的Flask版本号,并希望当他们执行pip install requirements.txt时,Flask将负责依赖管理,他们将下载正确版本的依赖库

Vis*_*hak 22

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

  1. 激活virtualenv($source path_to_virtualenv/bin/active)
  2. 转到项目根目录
  3. 获取requirements.txt中的所有包以及依赖项

    pip freeze > requirements.txt
    
    Run Code Online (Sandbox Code Playgroud)
  4. 除了确保下一个人通过以下命令递归地安装需求之外,您不必担心其他任何事情

    pip install -r requirements.txt
    
    Run Code Online (Sandbox Code Playgroud)


hjp*_*r92 7

您可以(从您的活动虚拟环境)执行以下操作

pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)

它将自动处理项目中可用的所有库/模块。

下一个开发人员只需发出:

pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)


Kla*_* D. 6

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

因此,这取决于更新与定义的环境。哪个更适合你。