【发布时间】:2022-01-04 14:56:11
【问题描述】:
我目前正在开展一个项目,该项目涉及使用传感器和安装在扩展板 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)
这将导入单线模块,传感器将进行温度测量。
快进到现在,由于我不知道的原因,每当我运行脚本时,我都会收到 ImportError:没有名为“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 上运行代码时,问题就开始了。
如果有人能帮助我解决这个问题,我将不胜感激。
谢谢。
【问题讨论】:
-
这里很难提供答案,因为缺少关键信息;在项目根目录中启动 Python 且不对
sys.path进行任何修改时,from lib import onewire之类的导入将起作用。 IE。如果我创建一个像你这样的项目树,cd 到根目录,那么这样的导入将起作用,我无法重现你的问题。可能最好退后一步,创建一个最小的示例(例如,您在其中from lib import example和 lib/example.py 的 main.py),它会产生问题并更新您的问题。
标签: python visual-studio-code iot micropython