Flask - ImportError:没有名为app的模块

时间:2014-03-28 11:05:32

标签: python python-import

首先我创建了__init__.py

from flask import Flask

app = Flask(__name__)

然后在一个单独的文件中,在同一目录中run.py

from app import app 

app.run(
    debug = True
)

当我尝试运行run.py时,我收到错误

Traceback (most recent call last):
  File "run.py", line 1, in <module>
    from app import app 
ImportError: No module named app

7 个答案:

答案 0 :(得分:22)

使用目录导入

__init__.py。如果要将其作为app导入,则应将__init__.py文件放在名为app的目录中

更好的选择就是将__init__.py重命名为app.py

答案 1 :(得分:6)

您的__init__.py文件需要放在名为app的文件夹中,而不是与run.py文件相同的目录。

from app import app正在查找app文件夹,因此__init__.py文件需要放在那里。

答案 2 :(得分:3)

这可能是烧瓶应用程序文件夹结构中的错误 任何为烧瓶项目寻找简单的初学者友好结构的人都会发现这有用:

   |__movies 
     |__run.py 
     |__app     
        ├── templates
        │   └── index.html
        │   └── signup.html
        └── __init__.py
        └── routes.py

此处&#39; 电影&#39;是主应用程序的名称。它包含&#39; run.py &#39;以及名为&#39; app &#39;的文件夹。 &#39; 应用&#39;文件夹包含所有必要的烧瓶文件,例如&#39; 模板&#39;文件夹,&#39; __ init __。py &#39;和&#39; routes.py &#39;。

内容:

<强> run.py

from app import app

__ init __。py

from flask import Flask

app = Flask(__name__)

from app import routes


app.run(debug=True)

routes.py

from app import app

@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"

答案 3 :(得分:0)

确保也将PYTHONPATH设置为src /目录。例 export PYTHONPATH="$PYTHONPATH:/path/to/your/src"

答案 4 :(得分:0)

只需将文件重命名为app.py即可。

答案 5 :(得分:0)

对我来说,export PYTHONPATH=/path/to/your/src && python app/main.py有用

答案 6 :(得分:0)

我如下解决了这个问题-

$export FLASK_APP=run

$flask run

执行此命令后。我没有任何错误,我的应用运行正常。