#visual-studio-code #esp32 #micropython #esp-idf
Вопрос:
Я предпринял несколько попыток заставить этот комплекс работать. Как упоминалось во многих других обсуждениях, модули micropython не распознаются, например, машина. Модули Python, такие как numpy, также не были найдены.
Я думаю, что среда python работает неправильно, и модули есть, но не найдены. Но нет никакой рекомендации или руководства, которые действительно решали бы эту проблему. Как я могу это настроить?
Что я делал до сих пор:
- вручную установлены все компоненты в соответствии с учебными пособиями
- другой способ: установил пакет кодирования pything, который содержит много всего.
- Пути Windows содержат правильные пути к папкам компонентов.
- Я установил явно правильный интерпретатор python в vscode
- соединение/связь с платой работает. Я могу настроить коды, которые не содержат модулей микропитона.
- в других IDE, таких как thonny/mu, модули найдены.
- Я также установил python venv: я мог установить numpy внутри этого venv, и позже он был найден в vscode (не был найден раньше), когда я использовал python venv в качестве интерпретатора в vscode. Но у меня не получилось с микропитоном в венве.
PS: Я могу использовать модули micropython, такие как машина или сеть, и загрузить эскиз на плату esp32. Он работает на доске. Но я не могу запустить ни один из эскизов в vscode. Я думаю, что Vscode использует cpython вместо micropython, но разве это не должно работать после установок, о которых я упоминал?
Ответ №1:
Похоже, вы путаете модули, которые вы устанавливаете на компьютере с кодом Visual Studio, и модули, которые вы устанавливаете в Micropython на ESP32.
Они совершенно разные.
Python на вашем компьютере с Windows может использовать venv.
MicroPython вообще не использует venv (по-видимому, для MicroPython существует клон venv, но неясно, что он делает, почему или как вы его используете). Это совершенно отдельный экземпляр Python от вашего компьютера с Windows, и он работает по-другому. Модули, которые вы устанавливаете в venv, не будут видны или использоваться MicroPython. Numpy, в частности, недоступен для MicroPython.
Многие модули должны быть написаны специально для работы с MicroPython. MicroPython не работает в такой мощной операционной системе, как Windows, macOS или Linux. Он работает в очень ограниченной среде, в которой отсутствует большая часть функциональности этих операционных систем и которая имеет чрезвычайно мало памяти и памяти по сравнению с ними. Вы не можете ожидать, что модуль, написанный для обычного Python, будет работать только на MicroPython (и точно так же многие модули MicroPython используют аппаратные функции, такие как доступ к I2C или SPI, которые могут быть недоступны на более мощных компьютерах общего назначения).
upip
Для MicroPython будут доступны только модули, доступные с помощью. Они должны быть установлены в экземпляре MicroPython, работающем на ESP32, а не в экземпляре Python, работающем под Windows. Это два совершенно разных экземпляра Python.
Комментарии:
1. Большое спасибо. Да, я, очевидно, все перепутал. Поскольку я перестал работать с Python, я не отслеживаю эти проблемы… Спасибо.