Cor*_*man 2 python bash module flask
我在运行 run.py 文件时遇到问题。我的文件结构如下所示:
另一个名为“run.py”的 python 文件与 python3 一起位于 Flask/bin 中。我的 run.py 文件很简单:
#!flask/bin/python3
from app import app
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
但是运行“python3 run.py”会引发错误:
$ python3 run.py
Traceback (most recent call last):
File "run.py", line 2, in <module>
from app import app
ModuleNotFoundError: No module named 'app'
Run Code Online (Sandbox Code Playgroud)
app.py 看起来像:
from flask import Flask
app = Flask(__name__)
from app import views
Run Code Online (Sandbox Code Playgroud)
我对如何解决这个问题感到困惑,因为我一直在弄乱目录,例如将 app.py 放入 Flask/bin 文件夹中,并将其放在上面目录中显示的所有文件夹之外,但这些方法对我不起作用。
小智 5
你的 run.py 无法导入应用程序,因为它无法在 bin 文件夹中看到应用程序,而 python 会发生的情况是,所有 python 文件都被视为模块,并且具有init .py 文件的文件夹被视为包,因此可以运行。 py 将开始寻找应用程序包来导入应用程序模块,但它将在 bin 目录中搜索。通读Python 文档以充分理解模块和包。现在您可能需要重新组织应用程序目录,如下所示:
dir app
file app.py
dir flask
file run.py
Run Code Online (Sandbox Code Playgroud)
通过确保 run.py 和 app 目录位于目录中的同一级别,run.py 现在将能够从 app 导入。
我希望这有帮助