[英]Newbie to Python: Imported Lib
我有這個結構
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
謝謝,最好的問候,Edu
由於sensortag.py
是在同一個目錄中btle.py
,添加一個.
在導入之前
from .btle import UUID, Peripheral, DefaultDelegate, AssignedNumbers
這稱為相對導入: https : //docs.python.org/2.5/whatsnew/pep-328.html
由於btle.py和sensortag.py都位於同一目錄中,因此通過查看錯誤,我假設您嘗試從先前的目錄導入它。 因此,從.btle import UUID放置在sensortag.py中應該可以解決此問題。
您應該創建兩個init .py文件。
02.SensorTag/
sensortag_example.py
bluepy/__init__.py
bluepy/bluepy/__init__.py
bluepy/bluepy/sensortag.py
bluepy/bluepy/btle.py
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.