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

问题描述 投票:24回答:4

首先我创造了__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
python python-import
4个回答
23
投票

使用目录导入__init__.py。如果你想将它作为app导入,你应该将__init__.py文件放在名为app的目录中

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


6
投票

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

from app import app正在寻找app文件夹,所以__init__.py文件需要坐在那里。


3
投票

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

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

这里的'电影'是主应用程序的名称。它包含'run.py'和一个名为'app'的文件夹。 'app'文件夹包含所有必需的刻录文件,例如'templates'文件夹,'__ init __。'和'routes.py'。

内容:

润.朋友:

from app import app

__init__.朋友:

from flask import Flask

app = Flask(__name__)

from app import routes


app.run(debug=True)

routes.朋友:

from app import app

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.