首先我创建了__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
答案 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
执行此命令后。我没有任何错误,我的应用运行正常。