【发布时间】:2019-05-19 23:01:47
【问题描述】:
我正在向https://blog.miguelgrinberg.com/学习flask
我有一个文件名为 microblog.py 的应用微博
from app import app
我有一个名为app 的目录,它包含__init__.py 和下面的代码
from flask import Flask
from config import Config
app = Flask( __name__ )
app.config.from_object(Config)
from app import routes
但是当我运行flask run 时,我收到了错误
ImportError: No module named 'app'
我明白,如果我想将一个目录表示为一个包,那么我必须在目录中包含一个__init__.py,我为app 目录这样做了。
目录结构
.
├── __init__.py
├── app
│ ├── __init__.py
│ ├── forms.py
│ ├── routes.py
│ └── templates
│ ├── base.html
│ ├── index.html
│ └── login.html
├── config.py
└── microblog.py
完整的堆栈跟踪
flask run
* Serving Flask app "microblog.py"
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
Usage: flask run [OPTIONS]
Error: While importing "microblog.microblog", an ImportError was raised:
Traceback (most recent call last):
File "~/anaconda3/envs/flask_python3.5.2/lib/python3.5/site-packages/flask/cli.py", line 235, in locate_app
__import__(module_name)
File "~/learning/migual_flask/microblog/microblog.py", line 1, in <module>
from app import app
ImportError: No module named 'app'
这段代码直到最近才有效,突然开始出现问题。我无法找到哪里出了问题。
非常感谢任何帮助。
谢谢。
【问题讨论】:
-
你能显示你的目录层次结构吗?即文件在哪里,你从哪里打电话?
-
为什么最后一行有
from app import routes%?你想做什么? -
可能是您的目录层次结构造成的。试试下面的链接。 stackoverflow.com/questions/22711087/… 你为什么要使用这个?:> from app import routes% 希望这对你有帮助。祝你今天过得愉快。 :D
-
@knh190,我已经更新了带有目录结构的帖子,并且该 % 符号是
cat命令输出的一部分。 -
你能发布完整的堆栈跟踪吗?