Мы используем micro: bit с аксессуаром Bit: bot XL. У меня есть модуль (robot.py) с единственной функцией для бита Bit: (пока). В моем скрипте (my.py) я импортирую эту функцию. Но после перепрограммирования micro: bit (ufla sh my.py) на светодиодной матрице появляется ошибка: «Ошибка импорта: нет модуля с именем robot». Однако, если я просто использую стандартные функции Python (например, print ()) в моем модуле и запускаю сценарий в терминале VSCode, он работает нормально. Помещение моей функции непосредственно в мой скрипт также работает нормально. Почему я не могу перенести и мой скрипт, и мой модуль в micro: bit?
Обходной путь можно найти в Fla sh microbit, встраивая файл класса .py . Обходной путь требует, чтобы вы сначала набрали sh micro: bit, а затем передали модули с помощью ufs. Это работает, но усложняет задачу для нашей целевой группы - слепых детей.
Мой модуль robot.py хранится в папке с именем bitbot. Путь к папке указывается в sys.path. В пакете также есть пустой файл __init__.py
.
# my.py
from microbit import *
from robot import drive
drive(500, 3000)
# bitbot/robot.py
from microbit import *
def drive(speed, duration):
"""Makes the Bit:bot move forwards with a given speed for a number of milliseconds"""
pin8.write_digital(0) #Left motor direction
pin12.write_digital(0) #Right motor direction
pin16.write_analog(speed) #Left motor speed
pin14.write_analog(speed) #Right motor speed
sleep(duration)
Я пробовал разные способы импорта модуля, но все они выдают одну и ту же ошибку импорта: импортный битобот, импортный робот, из импорт bitbot *, из импорта роботов *, с диска импорта битоботов, с диска импорта роботов, с диска импорта bitbot.robot.
Я использую: