我有这个结构
02.SensorTag/
sensortag_example.py
bluepy/bluepy/sensortag.py
bluepy/bluepy/btle.py
所以sensortag_example.py正在导入sensortag.py
import bluepy
from bluepy.bluepy import sensortag
当我运行代码时,它抱怨从sensortag导入。
Traceback (most recent call last):
File "sensortag_example.py", line 2, in <module>
from bluepy.bluepy import sensortag
File "/home/pi/Development/02.SensorTag/bluepy/bluepy/__init__.py", line 3, in <module>
from . import sensortag
File "/home/pi/Development/02.SensorTag/bluepy/bluepy/sensortag.py", line 1, in <module>
from bluepy.btle import UUID, Peripheral, DefaultDelegate, AssignedNumbers
ImportError: No module named 'bluepy.btle'
我试图添加一条新路径,但它没有用。如果我将程序移动到第一个文件夹bluepy并将导入更改为“from bluepy import sensortag”它可以工作,但我需要导入其他库,所以我不想让它在bluepy文件夹中。
我正在尝试运行此代码: https://gist.github.com/atotto/ae603b962115eef703c0011d8e652ea3
谢谢和最诚挚的问候, 埃杜
答案 0 :(得分:2)
由于sensortag.py
与btle.py
位于同一目录中,因此请在导入前添加.
from .btle import UUID, Peripheral, DefaultDelegate, AssignedNumbers
答案 1 :(得分:1)
由于btle.py和sensortag.py都位于同一目录中,因此通过查看您的错误,我假设您尝试从以前的目录导入它。因此,来自sensortag.py的.btle import UUID应该解决问题。
答案 2 :(得分:1)
您应该创建两个 init .py文件。
02.SensorTag/
sensortag_example.py
bluepy/__init__.py
bluepy/bluepy/__init__.py
bluepy/bluepy/sensortag.py
bluepy/bluepy/btle.py