我使用export FLASK_APP=flask_app
然后执行flask run
但我收到错误:
错误:提供的文件/路径(flask_app)似乎不存在。请验证路径是否正确。如果app不在PYTHONPATH上,请确保扩展名为.py
但是,文件确实存在,甚至在当前的工作目录中。使用文件的完整路径也不起作用。
答案 0 :(得分:24)
如果ImportError
没有传播到您的终端,则会出现这种情况。检查文件的所有是否包含无效的导入语句,修复它们,错误应该消失。
编辑2017-04-02: @Michael指出我的参考资料现在放在标签" OLD MESSAGE PART 2"是不正确的。我不知道这个错误是怎么回事,但是我在here发现了一篇最近的帖子,他们引用Flask Github这个帖子应该在12月30日解决这个问题。 2016年。当时我确实在运行一个较旧的烧瓶版本。
老消息第2部分: 这个问题在the commit上讨论,虽然我不确定何时甚至是否实际已经修复,因为我今天仍然遇到错误,即使我在该页面上描述的修复合并后下载了Flask (2016年8月12日)。
答案 1 :(得分:13)
当使用环境变量运行时,错误消息来自于烧瓶版本0.x,只需将烧瓶升级到版本1.x.
pip install -U flask
答案 2 :(得分:7)
当我在代码中某处遗漏import
语句时,我看到了这个错误。在我看来,实际导入错误未显示的事实是一个错误,如@ PDiracDelta的answer中所述。 (更新:似乎将在Flask 0.13中修复。)
对我有用的解决方法是在命令行指定应用程序。根据您引用的错误消息,您的应用似乎被称为' flask_app',所以只需输入:
python flask_app.py
这实际上不会运行应用程序(除非它检查if __name__ == '__main__'
或其他内容),但它会显示导入错误。
答案 3 :(得分:3)
如果在命令行上发出flask run
,则会出现此消息。在设置python -m flask run
和export FLASK_APP
变量之后,请使用export FLASK_ENV
。在创建应用程序工厂时,在按照Flask教程进行操作时遇到了这个问题。该说明未指定在flask run
之前加python -m
。
答案 4 :(得分:1)
请按以下步骤操作:
确保您已完成[pip install --editable。 ]。在哪里'。'表示安装应用程序的目录的位置。 e.g(flask_app)
运行python 它将打开命令行python口译员
尝试导入烧瓶应用 如果出现错误,您将收到详细错误。 尝试修复该错误。
我遇到了同样的问题并按照上面的步骤发现运行代码时出错。解释器显示编译错误。
答案 5 :(得分:0)
werkzeug版本不适合烧瓶。要解决此问题,您需要升级werkzeug,使用:
$pip install werkzeug --upgrade
答案 6 :(得分:0)
同样的问题在烧瓶教程的第5步:http://flask.pocoo.org/docs/0.12/tutorial/dbinit/。
我做的是
1)在虚拟环境中,按pip uninstall flaskr
2)停用虚拟环境,然后按deactivate
然后source bin/activate
3)按pip install --editable .
4)按export FLASK_APP=flaskr
5)现在执行flask run
并在浏览器中点击localhost:5000生成404(无视图,如预期)错误而不是500(找不到文件)错误。
或执行flask initdb
按预期触发init_db()
功能
答案 7 :(得分:0)
与y2knoproblem类似,我遵循的是flask官方教程,因此使用了应用程序工厂和venv虚拟环境。我可以使用
python -m flask run
但是这导致我的IDE服务于localhost而不是像我在application.py上运行“ flask run”时那样可从外部访问的地址的问题。
我能够通过指定
来完成这项工作export FLASK_APP=__init__.py
代替
export FLASK_APP=myapp
答案 8 :(得分:0)
这可能有很多原因。
python2
与python3
问题,
pip2 install Flask
与pip3 install Flask
问题,
和(venv) virtual environment
与local environment
问题。
就我而言,必须执行以下操作来解决问题:
python3 -m venv venv
. venv/bin/activate
pip3 install Flask
export FLASK_APP=flask_app
flask run