导入 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