提问人:Seth 提问时间:11/8/2023 最后编辑:Seth 更新时间:11/21/2023 访问量:38
将自定义模块导入我的 MicroPython Pico-W 项目时出现的问题
Issues when importing a custom module into my MicroPython Pico-W Project
问:
当涉及到这样的事情的文件结构时,我非常缺乏经验和新手。我目前正在使用 MicroPython 和 Pico-W。我正在尝试从另一个python文件导入模块,但一直收到此错误:
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: no module named 'foo'
目前我的文件结构如下所示:
my-proj:
- main.py
- foo.py
我的代码是这样的:
main.py
________
from foo import bar
bar()
foo.py
________
def bar():
print('foobar')
我试过将东西移入和移出文件夹,将它们分开,将它们安装到Pico-W等。似乎无法弄清楚,我确信这很简单,我只是对此视而不见。
感谢您的帮助。
答:
0赞
Jiu_Zou
11/8/2023
#1
您需要先转到 my-proj。
cd my-proj
python foo.py
或添加到环境变量中。
foo.py
---------
import sys
import os
abspath = os.path.abspath(__file__)
filename = abspath.split(os.sep)[-1]
abspath = abspath.replace(filename, "")
sys.path.append(abspath)
0赞
brainelectronics
11/21/2023
#2
在 MicroPython 设备上,和文件位于“根”中。main.py
boot.py
其他文件应放在目录中。lib
pyboard/
├── lib
│ ├── foo.py
├── boot.py
├── main.py
您可以使用以下命令检查 MicroPython 默认 sys 路径
import sys
print(sys.path)
有了它,您可以将其用作main.py
from foo import bar
bar()
和以下内容作为lib/foo.py
def bar():
print('foobar')
评论
python main.py
def bar():
my-proj