所以我从头开始创建一个全新的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 ,以确保每个克隆存储库的人都拥有相同版本的库。但是,我的困境是:
答案 0 :(得分:17)
这里有一件好事是你正在使用virtualenv,这将使你的任务变得非常容易。
$source path_to_virtualenv/bin/active
)在requirements.txt中获取所有包以及依赖项
pip freeze > requirements.txt
除了确保下一个人通过以下命令递归地安装要求之外,您不必担心其他任何事情
pip install -r requirements.txt
答案 1 :(得分:4)
您可以(从您的活动虚拟环境)执行以下操作
pip freeze > requirements.txt
将自动处理项目中可用的所有库/模块。
下一位开发人员只需要发出:
pip install -r requirements.txt
答案 2 :(得分:4)
这两种方法都有效且有效。但是有一点不同。当您在Werkzeug>=0.11
中输入所有依赖项时,您将能够固定它们的版本。如果你把它们遗漏了,可能会有更新版本,如果Flask的依赖项中有{
"areas" : [
{
"name" : "A",
"borders" : [[4,50], [4.5,51],...],
"otherProperty" : "red"
},
{
"name" : "B",
"borders" : [[3,48] , [3.5,49],...],
"otherProperty" : "yellow"
}
]
}
,你会得到更新版本的Werkzeug。
因此,它归结为更新与已定义的环境。无论什么更适合你。
答案 3 :(得分:-1)
如果您只想查看已安装的软件包,请执行
pip freeze
。
但是如果您希望所有这些包都在您的require.txt中,请执行
pip freeze > requirements.txt