Flask"错误:提供的文件/路径似乎不存在"虽然文件确实存在

时间:2017-01-28 18:34:22

标签: python flask python-import file-not-found

我使用export FLASK_APP=flask_app然后执行flask run但我收到错误:

  

错误:提供的文件/路径(flask_app)似乎不存在。请验证路径是否正确。如果app不在PYTHONPATH上,请确保扩展名为.py

但是,文件确实存在,甚至在当前的工作目录中。使用文件的完整路径也不起作用。

9 个答案:

答案 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 runexport FLASK_APP变量之后,请使用export FLASK_ENV。在创建应用程序工厂时,在按照Flask教程进行操作时遇到了这个问题。该说明未指定在flask run之前加python -m

答案 4 :(得分:1)

请按以下步骤操作:

  1. 确保您已完成[pip install --editable。 ]。在哪里'。'表示安装应用程序的目录的位置。 e.g(flask_app)

  2. 运行python 它将打开命令行python口译员

  3. 尝试导入烧瓶应用 如果出现错误,您将收到详细错误。 尝试修复该错误。

  4. 我遇到了同样的问题并按照上面的步骤发现运行代码时出错。解释器显示编译错误。

答案 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

重置env变量

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)

这可能有很多原因。

python2python3问题,

pip2 install Flaskpip3 install Flask问题,

(venv) virtual environmentlocal environment问题。

就我而言,必须执行以下操作来解决问题:

  1. python3 -m venv venv

  2. . venv/bin/activate

  3. pip3 install Flask

  4. export FLASK_APP=flask_app

  5. flask run