Я пытаюсь запустить idf.py как команду CMD. Я установил свои переменные env, которые он все еще не распознает

#python #variables #cmd #environment #esp32

#python #переменные #cmd #Окружающая среда #esp32

Вопрос:

Я настроил свои переменные среды для использования набора инструментов esp32. Одной из основных функций является idf.py который должен быть доступен из терминала.

Если я попытаюсь получить к нему доступ в VS Code, я получу

 idf.py : The term 'idf.py' is not recognized as the name of a cmdlet, 
function, script file, oroperable program. Check the spelling of the 
name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
  idf.py
  ~~~~~~
  CategoryInfo          : ObjectNotFound: (idf.py:String) [], CommandNotFoundException
  FullyQualifiedErrorId : CommandNotFoundException
  

Вот изображение моего echo %path%, где вы можете видеть, что я явно заявил, что idf.py.exe это путь. К сожалению, я довольно застрял и не уверен, каков следующий шаг отсюда.

Комментарии:

1. Я думаю, что вы смешиваете idf.py и idf.exe — не так ли?

2. Если вы просмотрите свои чрезмерно раздутые %PATH% значения, вы должны увидеть определенный шаблон, за исключением конкретного элемента, который вы выделили. Предполагается, что значения являются родительскими каталогами исполняемых файлов, а не самими файлами! Я настоятельно рекомендую вам отредактировать переменные среды (USER и SYSTEM) в графическом интерфейсе, чтобы удалить повторяющиеся, неправильные и больше не нужные записи, а также убедиться, что основные пять, `C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH ; находятся вверху.

3. Приветствую compo, я попробую. idf.exe извините, не сработало.

Ответ №1:

Убейте терминал и откройте ESP-IDF терминал

Комментарии:

1. Не могли бы вы объяснить интуицию, стоящую за вашим предложением?

2. Я получил ту же ошибку, и я понял, что не могу открыть терминал ESP-IDF, это был powershell в VS code, поэтому я отключил терминал, который является powershell, и я открыл Open ESP-IDF Terminal из командной палитры. На самом деле есть одна важная вещь, которую вам нужно убедиться, что вы правильно загружаете esp-idf, и вы пытались использовать ESP-IDF Powershell или ESP-IDF CMD. Я надеюсь, что этот способ может решить вашу проблему

3. Спасибо за ответ. Это необходимо, когда ESP-IDF был установлен с использованием VS code, а не стандартного процесса установки. Для меня это также устранило проблему, из-за которой python жаловался на то, что «щелчок» не был установлен, хотя это было. Я пытался установить библиотеку littlefs для ESP32 в качестве управляемого компонента.

Ответ №2:

Возникла та же проблема. Решаемая путем проверки того, что мой idf.espIdfPath (перейдите в File, затем Preferences, затем Settings и выполните поиск «idf.espIdfPath») указывал на правильную переменную среды (мой указывал на IDF_TOOLS из системных переменных среды, но вместо этого должен был указывать на IDF_TOOLS_PATH). Исправил это, затем перезапустил vscode с терминала ESP-IDF, набрав «code». из каталога проекта. Казалось, это сработало. В худшем случае, и я признаю, что это не идеальный вариант, возможно, переустановите vscode и все ваши необходимые расширения?

Ответ №3:

Причиной вашей проблемы может быть то, что вы используете PowerShell вместо командной строки

Чтобы создать пример из ESP-IDF framework, выполните следующие действия (в командной строке):

  1. Перейдите в папку установки ESP-IDF cd d:py_esp_idf
  2. Запустите install.bat (только один раз после установки ESP-IDF framework, а не для каждого примера)
  3. Запустите export.bat (это добавит idf.py для вас путь к системной среде)
  4. Перейдите к вашему примеру (например: cd examples/get-started/hello_world )
  5. Создайте свой пример (например: idf.py build )

Проверьте этот снимок экрана для полной демонстрации
введите описание изображения здесь