![](/img/trans.png)
[英]Python/Flask ImportError: attempted relative import with no known parent package
[英]Flask - ImportError: attempted relative import with no known parent package
尝试从 src package 导入时出现以下错误:
客户端.py
from . import create_app
from . models import db
from . models import Monitoring
app = create_app()
初始化.py
from flask import Flask
from . models import db
app = Flask(__name__)
def create_app():
db.init_app(app)
return app
from src import routes
项目树
.
├── manage.py
├── sf.py
├── src
│ ├── client.py
│ ├── __init__.py
│ ├── models.py
│ └── routes.py
└── tests
├── __init__.py
├── test.py
错误信息:
(sensor_flora) edx@edx-HP-250-G3-Notebook-PC:~/VisualStudio/SensorFlora$ python src/client.py
Traceback (most recent call last):
File "src/client.py", line 4, in <module>
from . import create_app
ImportError: attempted relative import with no known parent package
谢谢你们的帮助,我很感激。
解决方案:
问题是 client.py 脚本不是由 flask 执行的,它有自己的路径。 事实上,我所做的只是在顶层(项目)添加一个正确的 python 路径,如下所示:
export PYTHONPATH="/home/usr/VisualStudio/MyProject"
然后我将所有导入更改为绝对导入。
最后我运行了 python src/clients.py 并且它可以工作。
TODO:由于 client.py 是一个“独立”脚本,与 flask 应用程序无关,除了它使用 package 之类的应用程序来导入数据库及其配置,我虽然最好将 client.py 移动到单独的package(因为我需要沿着 flask 应用程序运行脚本)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.