Flask“错误:提供的文件/路径似乎不存在”,尽管该文件确实存在

问题描述 投票:14回答:9

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

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

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

python flask python-import file-not-found
9个回答
23
投票

当你有一个没有传播到你的终端的ImportError时会出现这种情况。检查所有文件是否有无效的导入语句,修复它们,错误应该消失。

编辑2017-04-02:@Michael指出我现在放在标签“OLD MESSAGE PART 2”下的引用是不正确的。我不知道这个错误是怎么回事,但是我在Flask Github发现了一篇最近的帖子,他们引用了the commit,它应该在2016年12月30日解决这个问题。可能那时候我确实在运行一个旧版本烧瓶版。

老消息第2部分:这个问题在Flask Github上讨论过,虽然我不确定何时甚至是否已经实际修复,因为我今天仍然遇到错误,即使我在合并修改后的Flask之后下载了Flask页(2016年8月12日)。


11
投票

当使用环境变量运行时,错误消息来自于烧瓶版本0.x,只需将烧瓶升级到版本1.x.

pip install -U flask

6
投票

当我在代码中某处遗漏import语句时,我看到了这个错误。在我看来,没有显示实际导入错误的事实是一个错误,如@ PDiracDelta的answer中所述。 (更新:似乎它将在Flask 0.13中修复。)

适用于我的解决方法是在命令行指定应用程序。从您引用的错误消息来看,您的应用程序看起来像'flask_app',所以只需输入以下内容:

python flask_app.py

这实际上不会运行应用程序(除非它检查if __name__ == '__main__'或其他东西),但它会显示导入错误。


3
投票

如果在命令行上发出flask run,则会出现此消息。而是在设置python -m flask runexport FLASK_APP变量后使用export FLASK_ENV。在创建应用程序工厂时,我在遵循Flask教程时遇到了这个问题。该指令未指定flask runpython -m前言。


1
投票

请按以下步骤操作:

  1. 确保你已经完成了[pip install --editable。 ]。在哪里'。'表示安装应用程序的目录的位置。 e.g(flask_app)
  2. 运行python它将打开命令行python口译员
  3. 尝试导入烧瓶应用程序如果出现错误,您将收到详细错误。尝试修复该错误。

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


0
投票

werkzeug版本不适合烧瓶。要解决此问题,您需要升级werkzeug,使用: $pip install werkzeug --upgrade


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()功能按预期


0
投票

与y2knoproblem类似,我正在关注烧瓶官方教程,因此使用应用工厂和venv虚拟环境。我能够使用

python -m flask run

但这导致我的IDE服务于localhost而不是外部可访问的地址,就像我在application.py上运行'flask run'时那样。

我能够通过指定来完成这项工作

export FLASK_APP=__init__.py

代替

export FLASK_APP=myapp

0
投票

这可能有很多原因。

python2 vs python3 issue,

pip2 install Flask vs pip3 install Flask issue,

(venv) virtual environment vs local environment问题。

在我的情况下,必须做以下事情来解决问题:

  1. python3 -m venv venv
  2. . venv/bin/activate
  3. pip3 install Flask
  4. export FLASK_APP=flask_app
  5. flask run
© www.soinside.com 2019 - 2024. All rights reserved.