如何解决Python ModuleNotFoundError:没有名为“app”的模块
我有一个 Flask 应用,在我的 Windows 机器上本地运行时遇到问题。
每当我尝试在我的 venv 中运行它时,我都会收到错误 ((MainActivity) getActivity()).mostrarPreciosDesdePagos();
我的项目层次如下:
ModuleNotFoundError: No Module named 'app'
app/init.py
├── app
│ ├────────── __init__.py
│ ├────────── v0_1
│ └────────── v0_2
├── README
├── run.py
└── tests
运行.py
from flask import Flask
import app.v0_1.v0_1 as V0_1
import app.v0_2.v0_2 as V0_2
import app.messages.messages as MSG
# Create a Flask Application
app = Flask(__name__)
.vscode/launch.json
from app import app
if __name__ == "__main__":
app.run(host="0.0.0.0")
.vscode/settings.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information,visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0","configurations": [
{
"name": "Python","type": "python","request": "launch","program": "${file}","console": "integratedTerminal","python": "${config:python.pythonPath}"
}
]
}
每个文件夹都有自己的init.py
当我构建一个 Docker 文件并运行我的应用程序时,它工作正常。当我尝试在本地运行它时,我遇到了上面提到的错误。错误指向 {
"python.linting.flake8Enabled": false,"python.linting.enabled": true,"python.linting.pylintEnabled": true,"python.pythonPath": "venv\\Scripts\\python.exe"
}
中的这两个文件:
app/__init__.py
这些文件夹包含我的 API 蓝图
这是 GitHub 上完整项目的链接 here
有人可以帮我吗?
解决方法
它在 __init__.py
中。 /app/
中没有模块应用程序。唯一的模块是 v0_1 和 v0_2。去掉应用前缀。
import v0_1.v0_1 as V0_1
import v0_2.v0_2 as V0_2
应该
from v0_1 import v0_1 as V0_1
from v0_2 import v0_2 as V0_2
这是我的布局
[root@sri-0000-0001 sandbox]# tree
.
├── app
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── v0_1.py
│ ├── v0_1.pyc
│ ├── v0_2.py
│ └── v0_2.pyc
└── run.py
这里是文件:
运行.py
from app import app
if __name__ == "__main__":
app.run(host="0.0.0.0")
__init__.py
from flask import Flask
from v0_1 import v0_1 as V0_1
from v0_2 import v0_2 as V0_2
# Create a Flask Application
app = Flask(__name__)
v0_1.py
v0_1=None
v0_2.py
v0_2=None
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。