我在很多页面和这里都看到过这个问题,但我已经尝试了一切,但似乎无法使其发挥作用,所以我需要第二个意见:(
ODS/
|__init__.py
|example.py
├── mqtt_model/
│ ├── __init__.py
│ └── mqtt_model.py
└── python-can/
├── can-venv/
├── __init__.py
├── Dockerfile
├── mqtt_can_logger.py
├── read.py
├── requirements.txt
└── write.py
我想要做的是将 mqtt_class.py 中的类(MQTT_Model)导入到 mqtt_can_logger.py
在我的 mqtt_model/init.py 中我有
from .mqtt_class import MQTT_Model
python_can/init.py 是一个空文件,我想将 MQTT_Model 导入到 mqtt_can_logger.py。
此导入不起作用,但在 example.py 中它确实可以与
from mqtt_model import MQTT_Model
一起使用
它只是在 python_can 目录中不起作用!
我尝试过做相对和绝对路径,例如:
from ODS.mqtt_model.mqtt_class import MQTT_Model
from .mqtt_model.mqtt_class import MQTT_Model
from ..mqtt_model import MQTT_Model
from .mqtt_model import MQTT_Model
from mqtt_model import MQTT_Model
什么都不起作用;(我不断收到I mport Error: attemptsrelative import with noknownparent package或ModuleNotFound: no module named 'mqtt_model'
我认为你不应该在绝对路径中指定
/ODS
,因为它是整个项目的主目录。
尝试一下:
from mqtt_model.mqtt_class import MQTT_Model