Esptool py не является внутренней или внешней командой исполняемой программой или пакетным файлом
Post by mzimmers » Mon Dec 02, 2019 10:13 pm
Since migrating to V4 of the IDF (under Windows), I've run into an issue using esptool.py. Whereas I used to be able to run a command like this:
Obviously not convenient. If I attempt to run it the old way, it's as though the arguments aren't getting passed through to the script. Did I miss a step in the installation, or is there some workaround I'm not aware of?
Post by ESP_Angus » Wed Dec 04, 2019 3:01 am
Are you using the IDF Command Prompt, or MSYS2, or something else?
The V4.0 Windows installer setups a Python virtualenv with a dedicated copy of Python and its own set of installed Python modules. If you run the IDF Command Prompt then you'll be inside this Python environment.
The fact that there is a file "idf4.0_py3.7_env\Lib\site-packages\esptool.py" suggests that "pip install esptool" has been run while inside the virtualenv. This is not required by ESP-IDF but it's fine, doesn't harm anything (ESP-IDF will use the copy of esptool inside IDF_PATH/components/esptool_py/esptool).
If you're using IDF Command Prompt, then because esptool was installed with pip in the virtualenv then you should be able to run "esptool.py write_flash 0x9000 nvs_reuse.bin" without needing anything else. If it doesn't work in the virtualenv, try running "pip install esptool" again.
If you're using a different command prompt, the solution may be different. Running "esptool.py" with the default Python environment (ie a normal Command Prompt) may work depending on how the Windows python installation is configured.
Post by mzimmers » Wed Dec 04, 2019 3:05 am
Hi Angus - yes, I am running the ESP-IDF Command Prompt. (I was using MYSYS2 when working with V3 of the IDF).
I'll try re-installing esptool again tomorrow and report back.
Post by mzimmers » Wed Dec 04, 2019 2:53 pm
When I start up the ESP-IDF Command Prompt, here's what I get:
The output is the same whether I execute the command with no parameters, or with nonsense parameters.
Post by plusorc » Wed Dec 04, 2019 3:24 pm
@mzimmers
Can you test this ?
Put the full address of the Bin file you're flashing .. not the IDF environment
I recently has a similar issue and it was esptool needing the full path of the Bin file
@ESP_Angus
With all due respect , I found the IDF Command in windows is very inconvenient
I wish there is a way to add those to the Path and be able to run idf.py from any directory .
I use vscode and can't find a way to invoke idf.py from vscode , because I have to use the IDF command
If I copy the link of the shortcut , I get "This has to be run from . "
a message telling that I have to be in the directory to use the idf.py
Post by mzimmers » Wed Dec 04, 2019 6:41 pm
Hi plusorc - thanks for the suggestion. I'm really more interested, however, in getting the command to work the way that Angus says it should. I probably messed up something with my install; I'm hoping that someone might have an idea exactly where to look.
Post by mzimmers » Tue Dec 10, 2019 7:57 pm
Post by ESP_Angus » Wed Dec 11, 2019 3:24 am
Sorry, I gave you some incorrect information - I thought that "pip install esptool" would install an esptool.py.exe on the PATH, but it's actually "esptool.exe".
I ran through the install steps on a clean VM again. You should be able to run:
In the ESP-IDF Tools Command Prompt window, and this should work.
(You could also choose to "pip install esptool" inside your global Python install to run esptool.exe from any command prompt window.)
BTW, even though ESP-IDF build system will print full paths to everything:
You can strip off the first part and run this, if you're in the ESP-IDF Command Prompt then python.exe is on the PATH:
Недавно я пытался загрузить MicroPython на плату ESP8266, но не смог. Для этого мне пришлось установить esptool. Я успешно установил его, но когда я хотел его использовать, он не работал.
Вы пробовали (например) python esptool.py --help ?
Я решил проблему с помощью команды «py -m esptool help». В любом случае, спасибо.
@OskarCvj тоже мне помог, спасибо!
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно.
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей.
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то.
Ответы 3
Используя «esptool -h», я мог проверить опцию справки.
это не поможет в случае оп
Попробуйте установить esptool с помощью команды pip в Windows. Затем используйте только «esptool» вместо «esptool.py».
pip3 установить esptool (режим администратора)
C:\WINDOWS\system32>esptool --chip esp328266 -p COM3 erase_flash «esptool» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.
C:\WINDOWS\system32>pip3 установить esptool
Сбор esptool Скачиваем esptool-3.1.tar.gz (175 кБ)
C:\WINDOWS\system32>esptool.py --chip esp8266 -p COM3 erase_flash esptool.py v3.1 Последовательный порт COM3 Подключение. Чип ESP8266EX. Особенности: Wi-Fi Кристалл 26МГц MAC: e8:db:84:9b:5a:57 Загрузка заглушки Бегущая заглушка Заглушка работает Стирание чипа успешно завершено за 2,7 с Аппаратный сброс через пин RTS.
Другие вопросы по теме
Как связать один датчик с асинхронным циклом, который работает до тех пор, пока на входе датчика высокий уровень, а затем повторить тот же процесс с другим датчиком?
Сразу скажу, что данная тема рассчитана для новичков в этом вопросе, поэтому, если у Вас есть знания и опыт по прошивке (заливке БИН-файла) esp8266, Вам будет не интересно.
Также добавлю, что я сам являюсь "чайником". Но попробовав большинство возможных вариантов прошивки esp8266, столкнувшись с трудностями, потратив много времени и усилий, научился как это сделать быстро и просто. Конечно с помощью людей, которые профи в этом деле. Рудольф, Иван, спасибо!
И чтобы "облегчить жизнь" таким, как я, постараюсь подробно объяснить. А, как известно, лучше воспринимается информация, когда объясняют на "одном языке". Поэтому рассказ будет в стиле "чайник" для "чайников" Погнали!
Прошивка (заливка бин-файла) esp8266 с помощью командной строки операционной системы Windows
Давайте пошагово
Шаг №0 и №1
Запускаем комп. Нам нужно понять, нужен ли шаг №1, или можно приступать к №2. Для этого соединяем плату с компьютером (в свободный разъем USB). Далее Пуск\Панель управления\Диспетчер устройств, в разделе порты должно быть название вашей платы и COM порт на котором она висит:
Если есть, значит драйвер платы установился автоматически, если нет, то качаем и устанавливаем. После того, как вы увидели плату в портах (как на скрине выше), записываем номер COM-порта (на бумажку) и переходим к следующему шагу.
Что ж, я вас поздравляю, у нас все готово к прошивки платы!
Для этого подсоединяем плату В ТОТ САМЫЙ РАЗЪЕМ USB (есть записан на бумажке его номер, или уже потеряли?), или опять смотрим на каком порту он находится.
Все, пишем команду (мы должны находиться в той папке! С:\tm-web>Не забывайте, что tm-web это только пример! ): esptool.py --port COM4 write_flash 0x000000 tmac-web.ino.nodemcu.bin
Где ( это пример, пишите свою команду и свои данные! ):
- COM4 - номер порта на котором плата;
- tmac-web.ino.nodemcu.bin - имя файла прошивки, который должен лежать в той же папке в корне диска "С".
Бьем по enter!
Пошел процесс прошивки, который отображается командной строкой, мигает синий диод на плате.
Если все сделано правильно, то вы должны увидеть такую картинку:
Поздравляю, плату прошито успешно!
Последний раз ВАЖНО. Если у вас плата не новая, то ее нужно обновить (стереть все, что там уже записано). Для этого в той же командной строке пишем команду: esptool.py --port COM4 erase_flash и enter конечно же.
Качаю Python, захожу в консоль, пишу pip install и выдает что "pip" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Что делать?
Простой 1 комментарий
Добавить в PATH.
Гугли переменные среды
Или даже будет быстрее переустановить питон и при установке поставить соответствующую галочку.
Скорее всего, у вас просто не была установлена галочка на работу пипа со всех директорий, или переустановите пайтон, почтавив эту галочку, илм пробуйте выполнять эту команду с директории где находится пайтон
Если винда, то тут 99% что при установке не поставил галочку добавить пути в PATH.
1. Руками прописать
2. Удалить и поставить заново, не пропустив галочку
Нужно обновить pip:
python -m pip install --upgrade pip
Скорее всего вы используете Python 3.9. Но многие мейнтейнеры не успели обновить пакеты. Поэтому установите Python 3.8
Discord.py поддерживается пока питоном 3.5 . 3.8!
И неплохо бы установить Microsoft C++ Build Tools, пригодится для установки некоторых пакетов.
Requirement already up-to-date: pip in c:\users\. \appdata\local\programs\python\python39\lib\site-packages (20.2.4)
если галочка PATH python не сработала можно: настроить ручную.
здесь объясняют как в ручную настроить PATH для python (для pip достаточно просто указать в PATH адрес к scripts в каталоге python)
Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папкеpip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
- Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
- Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
- Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.
Добавление папки с программой в системную переменную среды PATH
В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:
Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
- Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
- Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.
Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.
Если ошибка возникает при запуске системных инструментов Windows
Видео инструкция
Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
Читайте также: