导入 micropython 中存在的模块时出现 ImportError
ImportError when importing modules that exist in micropython
我目前正在进行一个项目,该项目涉及使用传感器和安装在扩展板 V3.1 上的 Pycom LoPy4 进行土壤湿度测量。我目前正在使用 VS 代码作为我的 IDE 并使用 pymakr 扩展 运行 我的板子上的 micropython。
在我的项目开始时,导入功能工作正常,我使用的是直接从互联网复制的代码,如下所示,它 运行 没有错误:
import time
from machine import Pin
from onewire import DS18X20
from onewire import OneWire
# DS18B20 data line connected to pin P10
ow = OneWire(Pin('P10'))
temp = DS18X20(ow)
while True:
print(temp.read_temp_async())
time.sleep(1)
temp.start_conversion()
time.sleep(1)
这将导入 onewire 模块,传感器将进行温度测量。
快进到现在,出于我不知道的原因,每当我 运行 脚本时,我都会收到 ImportError: no module named 'onewire'。然后我尝试 运行 不同项目的不同库,这次尝试使用以下代码导入模块:
from lib import measureSensors
from lib import onewire;
在 运行 执行此代码后,我得到了基本相同的错误 - ImportError: no module named 'lib.measureSensors'
我也尝试过使用 __init__.py
方法,但这似乎也没有解决我遇到的问题。我在下面附上了我的项目树的图片。
奇怪的是,如果我 运行 这些代码在 pycharm 或 VS 代码中而不使用 pymakr 扩展,代码执行时没有任何错误。 运行在 pymakr 和 Lopy4 x 扩展板 V3.1 上使用代码时出现问题。
拜托,如果有人能帮助我解决这个问题,我将不胜感激。
谢谢。
您可以将目录添加到 sys.path,python 用于查找模块并像往常一样导入:
sys.path.insert(0, './lib')
import measureSensors
import onewire
您可以显式引用该模块:
import lib.measureSensors as measureSensors
import lib.onewire as onewire
我目前正在进行一个项目,该项目涉及使用传感器和安装在扩展板 V3.1 上的 Pycom LoPy4 进行土壤湿度测量。我目前正在使用 VS 代码作为我的 IDE 并使用 pymakr 扩展 运行 我的板子上的 micropython。
在我的项目开始时,导入功能工作正常,我使用的是直接从互联网复制的代码,如下所示,它 运行 没有错误:
import time
from machine import Pin
from onewire import DS18X20
from onewire import OneWire
# DS18B20 data line connected to pin P10
ow = OneWire(Pin('P10'))
temp = DS18X20(ow)
while True:
print(temp.read_temp_async())
time.sleep(1)
temp.start_conversion()
time.sleep(1)
这将导入 onewire 模块,传感器将进行温度测量。
快进到现在,出于我不知道的原因,每当我 运行 脚本时,我都会收到 ImportError: no module named 'onewire'。然后我尝试 运行 不同项目的不同库,这次尝试使用以下代码导入模块:
from lib import measureSensors
from lib import onewire;
在 运行 执行此代码后,我得到了基本相同的错误 - ImportError: no module named 'lib.measureSensors'
我也尝试过使用 __init__.py
方法,但这似乎也没有解决我遇到的问题。我在下面附上了我的项目树的图片。
奇怪的是,如果我 运行 这些代码在 pycharm 或 VS 代码中而不使用 pymakr 扩展,代码执行时没有任何错误。 运行在 pymakr 和 Lopy4 x 扩展板 V3.1 上使用代码时出现问题。
拜托,如果有人能帮助我解决这个问题,我将不胜感激。
谢谢。
您可以将目录添加到 sys.path,python 用于查找模块并像往常一样导入:
sys.path.insert(0, './lib')
import measureSensors
import onewire
您可以显式引用该模块:
import lib.measureSensors as measureSensors
import lib.onewire as onewire