-
Notifications
You must be signed in to change notification settings - Fork 34
esp32's python dependency won't be installed by the board manager #235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I believe the situation is that the ESP32 boards platform expects Python to be installed and in the path, accessible as It's unfortunate to be forced to configure the action to install arbitrary platform dependencies. The workaround I found for doing this on the user end of things when I ran into this issue with the ESP8266 platform was to use a custom entrypoint wrapper script that installed Python in the container: Since that time, I converted the arduino/compile-sketches action to a composite run steps action, meaning it runs in the GitHub Actions runner instead of a Docker container. This permits the user to easily install any dependencies in their workflow, so my philosophy is that it's reasonable to expect them to do so. But in the case of Docker container actions, it's not so user friendly. |
Hey! You beat me to writing an upstream bug report in arduino-cli. I see that the python dependencies were specified directly by the file pointed to by the esp8266 board manager URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json "toolsDependencies": [
{
"packager": "esp8266",
"version": "2.5.0-3-20ed2b9",
"name": "xtensa-lx106-elf-gcc"
},
{
"packager": "esp8266",
"version": "2.5.0-3-20ed2b9",
"name": "mkspiffs"
},
{
"packager": "esp8266",
"version": "3.7.2-post1",
"name": "python"
}
],
"name": "esp8266"
}
],
"tools": [
{
"version": "3.7.2-post1",
"name": "python3",
"systems": [
{
"host": "x86_64-mingw32",
"url": "https://github.com./earlephilhower/esp-quick-toolchain/releases/download/2.5.0-4/python3-3.7.2.post1-embed-win32v2a.zip",
"archiveFileName": "python3-3.7.2.post1-embed-win32v2a.zip",
"checksum": "SHA-256:f57cb2daf86176d2929e7c58990c2ac32554e3219d454dcac10e464ddda35bf2",
"size": "6428926"
}, (this is the most sensible snippet I could find in a long file... but just ctrl-f But I don't see any python dependencies listed in the URL that I have for the esp32 board manager: https://dl.espressif.com/dl/package_esp32_index.json
|
The Windows installation of the ESP8266 platform provides a full Python installation, but for Linux and macOS it only installs a symlink pointing to the location where the system installation of Python is assumed to be (esp8266/Arduino#6931). If Python isn't at that location, then you will get the same error. This isn't an issue with Arduino CLI. It's simply a consequence of the configuration of the Espressif platforms.
I think it's just a prerequisite to have Python installed as
Yes, just as it would any other tools dependency.
I think so. The officially recommended ones are in the installation instructions here:
https://github.com./espressif/arduino-esp32/issues but it is my understanding that the platform is intentionally configured this way.
It would make it work on Windows systems that don't have Python installed and in the path, but it doesn't improve the situation much (if at all) for Linux and macOS because the symlink only helps if:
|
In case you know the answer to this: is it sufficient to install just one python version or will I need both 2.x and 3.x to cover all the board dependencies? Argh, and looking at espressif's github, I'm now nervous about which python packages I'll also need to |
…to using OS matrix
Based on acrandal/RevEng_PAJ7620#16 It looks like |
Issue summary
via https://github.com./RobTillaart/RunningAverage/runs/1506360909?check_suite_focus=true
The text was updated successfully, but these errors were encountered: