我正在设计一个网站。项目结构为project\ back_end\ __init.py__ main.py在init.py中,from flask import Flaskdef create_app(): app = Flask(__name__) return app我...
我正在设计一个网站。项目结构如下
project\
back_end\
__init.py__
main.py
在 init.py ,
from flask import Flask
def create_app():
app = Flask(__name__)
return app
在 main.py 中
from back_end import create_app
app = create_app()
@app.route("/")
def home():
return "hello world"
当我在 VS Code 中点击运行时,出现错误 ModuleNotFoundError
:没有名为“back_end”的模块。
我在命令行中输入 python -m back_end.main
,代码有效。我还尝试将 back_end 包重命名为 b。错误仍然存在。这与定义环境变量有关吗?我使用的是 Ubuntu 24.04。
正如@DeepThought42 指出的那样,文件名应该是这样的 __init__.py
,项目结构应该是这样的:
project
back_end
__init__.py
main.py
main.py
位于您的“back_end”目录之外。
另外,我不知道为什么有人会直接在里面添加该代码 __init__.py
(不应该!)。相反,您可以使用以下方法:
项目结构:
project
back_end
__init__.py
app.py
main.py
和 __init__.py
:
# You can leave this file empty
# Read more about it here: https://www.geeksforgeeks.org/what-is-__init__-py-file-in-python/
app.py
:
from flask import Flask
def create_app():
app = Flask(__name__)
return app
main.py
:
from back_end import create_app
app = create_app()
@app.route("/")
def home():
return "hello world"
app.run()