尝试在不同路径中导入模块时出现 Python ImportError

标签 python

我是 python 编程新手,但遇到此错误:

Traceback (most recent call last):
File "ultrasonicExample.py", line 7, in ?
    from concretesensor.hcsr04 import HCSR04
ImportError: No module named concretesensor.hcsr04

这是我的应用程序结构:

sensorPy/
        src/                                       
            abstractclass/                  
                  __init__.py
                 ultrasonicSensor.py
              ...
          concretesensor/                 
                  __init__.py
                  hcsr04.py
              ...
          examples/                 
                  __init__.py
                  ultrasonicExample.py

我的__init__.py在抽象类下:

from abstractclass.ultrasonicSensor import UltrasonicSensor

我的__init__.py在混凝土传感器下:

from concretesensor.hcsr04 import HCSR04

我还检查了我的 sys.path:

>>> import sys
>>> from pprint import pprint as p
>>> p(sys.path)
['',
 ...
 '/home/pi/Documents/sensorPy/src',
...
 ]
>>> 

im ultrasonicExample.py 我愿意:

from concretesensor.hcsr04 import HCSR04

hcsr04.py中我这样做:

from abstractclass.ultrasonicSensor import UltrasonicSensor

有人知道我做错了什么吗?

最佳答案

您的concretesensor必须位于PYTHONPATH variable 。另一种(也是更好的)方法是将路径添加到 sys.path:

import sys
sys.path.append("/my/path")

尝试插入 sys.path 的相对路径 ( read about )

sys.path.append("../..") #root of application

并在应用程序根目录中写入__init__.py

关于尝试在不同路径中导入模块时出现 Python ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28833199/

相关文章:

python - 在 Tkinter 中创建向导

python - 迭代多个列表并将其用作值增长字典

python - Tkinter PIL 图像不显示在函数内部

python - 将过滤器附加到 django 模型

python - 有没有办法在不发送的情况下在远程机器上运行 python 脚本?

Python 抓取响应数据

python - 如何在 ReportLab 中将酒吧聊天中的每个单独的酒吧设置为不同的颜色?

python - Jinja 模板中的惰性变量查找

python - Gurobi内存不足问题

python - 无法读取 Parquet 文件