我可以使用 python app.py
运行我的 flask 应用程序但是,如果我尝试 flask run
或 flask shell
我收到以下错误:
(venv) C:\Users\Arrchana\PycharmProjects\ie-backend>flask run
* Serving Flask app "app.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
Usage: flask run [OPTIONS]
Error: While importing "ie-backend.app", an ImportError was raised:
Traceback (most recent call last):
File "c:\users\arrchana\pycharmprojects\ie-backend\venv\lib\site-packages\flask\cli.py", line 240, in locate_app
__import__(module_name)
File "C:\Users\Arrchana\PycharmProjects\ie-backend\app.py", line 3, in <module>
from routes import api_dev
ModuleNotFoundError: No module named 'routes'
这是我的应用程序结构(缺少一些文件和模块):
ie-backend/
appInits/
__init__.py
dp.py
models/
__init__.py
user.py
app.py
config.py
routes.py
我在 app.py 中导入配置没有问题,但是在尝试导入路由、appInits 和模型时出现 ModuleNotFoundError。我在运行
flask shell
时遇到同样的错误.我的 app.py 文件如下所示:
from flask import Flask
from config import Config
from flask_script import Manager
from flask_migrate import MigrateCommand
from routes import api_dev
from appInits.db import db
from appInits import jwt
from models.user import UserModel
app = Flask(__name__)
app.config.from_object(Config)
app.register_blueprint(api_dev, url_prefix='/dev')
db.init_app(app)
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == "__main__":
app.run(debug=Config.DEBUG)
我在路由等中没有循环导入。我的 FLASK_APP=app.py。
最佳答案
添加 __init__.py
在 ie-backend
下
添加 .
在进口前
from .routes import api_dev
from .appInits.db import db
from .appInits import jwt
关于python - Flask:ModuleNotFoundError 使用 `flask run` 但能够使用 `python app.py` 运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60012421/