I recently tried to load MicroPython on ESP8266 board, but failed. To do that I had to install esptool. I successfully installed it but when I wanted to use it, it would not work.
For instance,
esptool.py --help
'not recognized as internal or external command, operable program or batch file'
I found many questions on this topic, but none of the answers helped me. I tried adding everything to the Windows path and it still did not work.
Hasta Tamang
2,1951 gold badge17 silver badges17 bronze badges
asked Feb 26, 2019 at 18:42
3
Try installing esptool using pip command on Windows.
Then use only «esptool» instead of «esptool.py»
Dharman♦
30.4k22 gold badges84 silver badges132 bronze badges
answered May 23, 2020 at 17:05
I was in the same position as the OP.
On Windows 10 I must use this syntax at a CMD prompt launched as an admin:
py -m esptool --help
I’m running Python 3.10.2 and esptool was installed using
py -m pip install --user pip
answered Mar 10, 2022 at 0:41
pip3 install esptool (Administration Mode)
Problem :
C:WINDOWSsystem32>esptool —chip esp328266 -p COM3 erase_flash
‘esptool’ is not recognized as an internal or external command,
operable program or batch file.
AFTER DOING THIS
C:WINDOWSsystem32>pip3 install esptool
Collecting esptool
Downloading esptool-3.1.tar.gz (175 kB)
———-Successfull———————-
C:WINDOWSsystem32>esptool.py —chip esp8266 -p COM3 erase_flash
esptool.py v3.1
Serial port COM3
Connecting….
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: e8:db:84:9b:5a:57
Uploading stub
Running stub
Stub running
Chip erase completed successfully in 2.7s
Hard resetting via RTS pin…
answered Aug 17, 2021 at 8:47
By using «esptool -h» I could check the help option.
answered May 16, 2019 at 17:20
AkshayAkshay
1,01912 silver badges21 bronze badges
1
Operating System
Linux
Esptool Version
v4.4
Python Version
Python 3.10.9
Full Esptool Command Line that Was Run
pip install esptool
Esptool Output
Defaulting to user installation because normal site-packages is not writeable Collecting esptool Using cached esptool-4.4-py3-none-any.whl Collecting bitstring<4,>=3.1.6 Using cached bitstring-3.1.9-py3-none-any.whl (38 kB) Collecting pyserial>=3.0 Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB) Collecting ecdsa>=0.16.0 Using cached ecdsa-0.18.0-py2.py3-none-any.whl (142 kB) Collecting reedsolo<=1.5.4,>=1.5.3 Using cached reedsolo-1.5.4.tar.gz (271 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: cryptography>=2.1.4 in /usr/lib/python3.10/site-packages (from esptool) (38.0.4) Requirement already satisfied: cffi>=1.12 in /usr/lib/python3.10/site-packages (from cryptography>=2.1.4->esptool) (1.15.1) Requirement already satisfied: six>=1.9.0 in /usr/lib/python3.10/site-packages (from ecdsa>=0.16.0->esptool) (1.16.0) Requirement already satisfied: pycparser in /usr/lib/python3.10/site-packages (from cffi>=1.12->cryptography>=2.1.4->esptool) (2.21) Building wheels for collected packages: reedsolo Building wheel for reedsolo (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [124 lines of output] Cython is installed, building creedsolo module running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-cpython-310 copying reedsolo.py -> build/lib.linux-x86_64-cpython-310 running build_ext building 'creedsolo' extension creating build/temp.linux-x86_64-cpython-310 gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -fPIC -I/usr/include/python3.10 -c creedsolo.c -o build/temp.linux-x86_64-cpython-310/creedsolo.o creedsolo.c: In function ‘__pyx_tp_dealloc_array’: creedsolo.c:32027:5: error: lvalue required as increment operand 32027 | ++Py_REFCNT(o); | ^~ creedsolo.c:32029:5: error: lvalue required as decrement operand 32029 | --Py_REFCNT(o); | ^~ creedsolo.c: In function ‘__pyx_tp_dealloc_memoryview’: creedsolo.c:32338:5: error: lvalue required as increment operand 32338 | ++Py_REFCNT(o); | ^~ creedsolo.c:32340:5: error: lvalue required as decrement operand 32340 | --Py_REFCNT(o); | ^~ creedsolo.c: In function ‘__pyx_tp_dealloc__memoryviewslice’: creedsolo.c:32588:5: error: lvalue required as increment operand 32588 | ++Py_REFCNT(o); | ^~ creedsolo.c:32590:5: error: lvalue required as decrement operand 32590 | --Py_REFCNT(o); | ^~ creedsolo.c: In function ‘__Pyx_InitGlobals’: creedsolo.c:33787:1: warning: ‘PyEval_InitThreads’ is deprecated [-Wdeprecated-declarations] 33787 | PyEval_InitThreads(); | ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/python3.10/Python.h:130, from creedsolo.c:16: /usr/include/python3.10/ceval.h:122:37: note: declared here 122 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void); | ^~~~~~~~~~~~~~~~~~ creedsolo.c: In function ‘__Pyx_ParseOptionalKeywords’: creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ In file included from /usr/include/python3.10/unicodeobject.h:1046, from /usr/include/python3.10/Python.h:83: /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c: In function ‘__Pyx_decode_c_string’: creedsolo.c:37955:9: warning: ‘PyUnicode_FromUnicode’ is deprecated [-Wdeprecated-declarations] 37955 | return PyUnicode_FromUnicode(NULL, 0); | ^~~~~~ /usr/include/python3.10/cpython/unicodeobject.h:551:42: note: declared here 551 | Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode( | ^~~~~~~~~~~~~~~~~~~~~ error: command '/usr/bin/gcc' failed with exit code 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for reedsolo Running setup.py clean for reedsolo Failed to build reedsolo Installing collected packages: reedsolo, pyserial, bitstring, ecdsa, esptool Attempting uninstall: reedsolo Found existing installation: reedsolo 1.7.0 Uninstalling reedsolo-1.7.0: Successfully uninstalled reedsolo-1.7.0 Running setup.py install for reedsolo ... error error: subprocess-exited-with-error × Running setup.py install for reedsolo did not run successfully. │ exit code: 1 ╰─> [126 lines of output] Cython is installed, building creedsolo module running install /home/killkrt/.local/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_py creating build creating build/lib.linux-x86_64-cpython-310 copying reedsolo.py -> build/lib.linux-x86_64-cpython-310 running build_ext building 'creedsolo' extension creating build/temp.linux-x86_64-cpython-310 gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -fPIC -I/usr/include/python3.10 -c creedsolo.c -o build/temp.linux-x86_64-cpython-310/creedsolo.o creedsolo.c: In function ‘__pyx_tp_dealloc_array’: creedsolo.c:32027:5: error: lvalue required as increment operand 32027 | ++Py_REFCNT(o); | ^~ creedsolo.c:32029:5: error: lvalue required as decrement operand 32029 | --Py_REFCNT(o); | ^~ creedsolo.c: In function ‘__pyx_tp_dealloc_memoryview’: creedsolo.c:32338:5: error: lvalue required as increment operand 32338 | ++Py_REFCNT(o); | ^~ creedsolo.c:32340:5: error: lvalue required as decrement operand 32340 | --Py_REFCNT(o); | ^~ creedsolo.c: In function ‘__pyx_tp_dealloc__memoryviewslice’: creedsolo.c:32588:5: error: lvalue required as increment operand 32588 | ++Py_REFCNT(o); | ^~ creedsolo.c:32590:5: error: lvalue required as decrement operand 32590 | --Py_REFCNT(o); | ^~ creedsolo.c: In function ‘__Pyx_InitGlobals’: creedsolo.c:33787:1: warning: ‘PyEval_InitThreads’ is deprecated [-Wdeprecated-declarations] 33787 | PyEval_InitThreads(); | ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/python3.10/Python.h:130, from creedsolo.c:16: /usr/include/python3.10/ceval.h:122:37: note: declared here 122 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void); | ^~~~~~~~~~~~~~~~~~ creedsolo.c: In function ‘__Pyx_ParseOptionalKeywords’: creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ In file included from /usr/include/python3.10/unicodeobject.h:1046, from /usr/include/python3.10/Python.h:83: /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35153:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35153 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( | ^~~~~~~~~~~~~~~~~~~ creedsolo.c:35169:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations] 35169 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : | ^ /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ creedsolo.c: In function ‘__Pyx_decode_c_string’: creedsolo.c:37955:9: warning: ‘PyUnicode_FromUnicode’ is deprecated [-Wdeprecated-declarations] 37955 | return PyUnicode_FromUnicode(NULL, 0); | ^~~~~~ /usr/include/python3.10/cpython/unicodeobject.h:551:42: note: declared here 551 | Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode( | ^~~~~~~~~~~~~~~~~~~~~ error: command '/usr/bin/gcc' failed with exit code 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. Rolling back uninstall of reedsolo Moving to /home/killkrt/.local/lib/python3.10/site-packages/__pycache__/reedsolo.cpython-310.pyc from /tmp/pip-uninstall-gi7m6xdu/reedsolo.cpython-310.pyc Moving to /home/killkrt/.local/lib/python3.10/site-packages/reedsolo-1.7.0.dist-info/ from /home/killkrt/.local/lib/python3.10/site-packages/~eedsolo-1.7.0.dist-info Moving to /home/killkrt/.local/lib/python3.10/site-packages/reedsolo.py from /tmp/pip-uninstall-1ypacc6k/reedsolo.py error: legacy-install-failure × Encountered error while trying to install package. ╰─> reedsolo note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure
What is the Expected Behaviour?
No error
More Information
This issue is quite similar to #615
I’ve already tried to execute the following commands, but it didn’t solve the issue:
pip install --upgrade reedsolo
pip install --upgrade reedsolo --install-option="--cythonize" --verbose
pip install --only-binary :all: --extra-index-url https://dl.espressif.com/pypi/ reedsolo
GNU C++ version: 12.2.1 20230111
Clang version: 15.0.7
Arch Linux: 6.1.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 18 Jan 2023 19:54:38 +0000 x86_64 GNU/Linux
Other Steps to Reproduce
No response
Welcome to the Raspberry Pi forums.
Maybe you have installed the package to a location that is not on the path for your shell?
Code: Select all
pi@RPi3BplusOffice:~ $ sudo pip3 install esptool
Collecting esptool
Downloading https://www.piwheels.org/simple/esptool/esptool-2.7-py3-none-any.whl (140kB)
100% |████████████████████████████████| 143kB 876kB/s
Requirement already satisfied: pyserial>=3.0 in /usr/lib/python3/dist-packages (from esptool)
Collecting ecdsa (from esptool)
Downloading https://files.pythonhosted.org/packages/23/a8/8aa68e70959e1287da9154e5164bb8bd5dd7025e
41ae54e8d177b8d165c9/ecdsa-0.13.2-py2.py3-none-any.whl (59kB)
100% |████████████████████████████████| 61kB 537kB/s
Collecting pyaes (from esptool)
Downloading https://www.piwheels.org/simple/pyaes/pyaes-1.6.1-py3-none-any.whl
Installing collected packages: ecdsa, pyaes, esptool
Successfully installed ecdsa-0.13.2 esptool-2.7 pyaes-1.6.1
pi@RPi3BplusOffice:~ $
pi@RPi3BplusOffice:~ $ which esptool.py
/usr/local/bin/esptool.py
pi@RPi3BplusOffice:~ $ esptool.py --help
usage: esptool [-h] [--chip {auto,esp8266,esp32}] [--port PORT] [--baud BAUD]
[--before {default_reset,no_reset,no_reset_no_sync}]
[--after {hard_reset,soft_reset,no_reset}] [--no-stub]
[--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]]
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image
,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,
erase_region,version}
...
esptool.py v2.7 - ESP8266 ROM Bootloader Utility
positional arguments:
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chi
p_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,
version}
Run esptool {command} -h for additional help
load_ram Download an image to RAM and execute
dump_mem Dump arbitrary memory to disk
read_mem Read arbitrary memory location
write_mem Read-modify-write to arbitrary memory location
write_flash Write a binary blob to flash
run Run application code in flash
image_info Dump headers from an application image
make_image Create an application image from binary files
elf2image Create an application image from ELF file
read_mac Read MAC address from OTP ROM
chip_id Read Chip ID from OTP ROM
flash_id Read SPI flash manufacturer and device ID
read_flash_status Read SPI flash status register
write_flash_status Write SPI flash status register
read_flash Read SPI flash content
verify_flash Verify a binary blob against flash
erase_flash Perform Chip Erase on SPI flash
erase_region Erase a region of the flash
version Print esptool version
optional arguments:
-h, --help show this help message and exit
--chip {auto,esp8266,esp32}, -c {auto,esp8266,esp32}
Target chip type
--port PORT, -p PORT Serial port device
--baud BAUD, -b BAUD Serial port baud rate used when flashing/reading
--before {default_reset,no_reset,no_reset_no_sync}
What to do before connecting to the chip
--after {hard_reset,soft_reset,no_reset}, -a {hard_reset,soft_reset,no_reset}
What to do after esptool.py is finished
--no-stub Disable launching the flasher stub, only talk to ROM
bootloader. Some features will not be available.
--trace, -t Enable trace-level output of esptool.py interactions.
--override-vddsdio [{1.8V,1.9V,OFF}]
Override ESP32 VDDSDIO internal voltage regulator (use
with care)
pi@RPi3BplusOffice:~ $
pip3 установить esptool (режим администратора)
Проблема :
C:WINDOWSsystem32>esptool —chip esp328266 -p COM3 erase_flash
«esptool» не распознается как внутренняя или внешняя команда,
работающая программа или командный файл.
ПОСЛЕ ЭТОГО
C:WINDOWSsystem32>pip3 установить esptool
Сбор esptool
Скачиваем esptool-3.1.tar.gz (175 кБ)
———-Успешно———
C:WINDOWSsystem32>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…
This article on how to install Esptool on Windows 10 was written because I remembered that I had been for a time wondering how to do it. If you’re a Windows user, you’re probably used to graphical interfaces. You’re also used to easy installs – download an installer file, run or open the file, follow the installation instructions, and it’s done.
Installing Esptool is a two-part process. First you download and install Python. Then, you run a Python command to install Esptool.
Esptool runs on the scripting and programming language Python. Therefore, we need to install Python first before we install Esptool.
How to Install Python
On Windows 10, you may simply type “python” on the Windows search box beside the Windows Start button and download Python from the Windows App Store. An issue with this procedure is that you may get an older version of Esptool from the App Store.
If you want to get the latest version of Python, downloading the installer from the Esptool download page is the way to go.
Run the downloaded Esptool installation file. As of this writing, the installation file for the latest version is python-3.8.1.
You may want to put a check mark on the Add Python 3.8 to PATH before clicking on the Install Now button. This will make it easier to start the Python and the Esptool program. Without the check mark, before you can run Python or Esptool, you would need to find the directory where you installed Python. You then would have to change your current directory to the Python’s folder.
After successfully installing Python, open a command prompt window.
Type cmd on the Windows search box and click on the Command Prompt app. Then type the command pip install esptool.
A successful Esptool installation will look like the screenshot below.
Testing the Esptool Installation
A quick test of the Esptool installation can be done by issuing the command esptool.py version.
Congratulations! You now have Esptool installed and ready for use on your ESP8266 or ESP32 development board.
Examples of Possible Uses
esptool.py read_flash 0 0x400000 firmware_backup.bin |
Related Articles on How to Install Esptool on Windows 10
How to Install Arduino IDE on Windows 10
How to Set up Arduino IDE for ESP8266 Programming
How to Test NodeMCU V3 Using Esptool
NodeMCU V3 ESP8266 Pinout and Configuration
NodeMCU ESP-32S Pin Configuration
References on How to Install Esptool on Windows 10
Esptool Wiki on Github
Python on Wikipedia
Python Website