Python 强制Flask仅使用requirements.txt中包含的库?
我有一个Flask应用程序目前正在谷歌应用程序引擎上运行。在本地,该应用程序在虚拟环境中运行,并引用安装在venv/Lib/site packages目录中的相应库 在GAE中更新应用程序时,requirements.txt用于确定需要安装哪些库/依赖项。我经常会遇到诸如“找不到模块”之类的乏味错误,必须记住在我的requirements.txt中添加所述模块,然后必须重新部署并检查错误日志,这需要时间 我在虚拟环境中安装了一系列依赖项,其中只有一部分需要在requirements.txt文件中引用,因为我在Flask应用程序中只使用了少数依赖项。因此,我试图找出一种方法,通过强制Flask只引用我requirements.txt文件中的依赖项,从而在本地测试我的应用程序,就像它在GAE上运行一样,如果出现“找不到模块”错误,我不必重复Python 强制Flask仅使用requirements.txt中包含的库?,python,google-app-engine,requirements.txt,Python,Google App Engine,Requirements.txt,我有一个Flask应用程序目前正在谷歌应用程序引擎上运行。在本地,该应用程序在虚拟环境中运行,并引用安装在venv/Lib/site packages目录中的相应库 在GAE中更新应用程序时,requirements.txt用于确定需要安装哪些库/依赖项。我经常会遇到诸如“找不到模块”之类的乏味错误,必须记住在我的requirements.txt中添加所述模块,然后必须重新部署并检查错误日志,这需要时间 我在虚拟环境中安装了一系列依赖项,其中只有一部分需要在requirements.txt文件中
gcloud app deploy
,也不必再次浏览日志,只需在自己的机器上快速完成即可
希望这不会让人感到困惑,哈哈
Flask
将导致安装Jinjapip3 freeze>requirements.txt
或pip2 freeze>requirements.txt
自动生成requirements.txt文件。这种方法的问题在于,它将包括虚拟环境中安装的所有内容,而您似乎不希望这样pipreqs
(参见此答案)venv
,创建一个requirements.txt
,只使用基本的python、flask/django,运行程序,然后手动将它抱怨的每个库添加到requirements.txt文件中,并重新安装requirements.txt文件的内容。冲洗并重复,直到不再出现错误。现在你有了你的全部要求每个项目应该有一个venv,其中只包含该项目的依赖项。