-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
69 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@radimkarnis adding more and more dependencies makes it complicated to install on different targets.
Could you consider to remove the
argcomplete
feature?7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am sorry, we carefully consider each new dependency and only include it if it provides enough value for the users.
We have removed the
argcomplete
package dependency (although it is now replaced by another new one -rich_click
). Hopefully that doesn't make things too difficult for you.7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thx, for the information. Knowing this early helps. Can change "stuff" before causing problems
7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jason2866 It could help if you could compile a list of things which makes difficult to maintain your esptool fork. Please ping me by name if you do so. I would try to reflect them in our long term strategy. Thanks!
7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dobairoland Very kind of you to ask :-) In short it is solved now. But let me explain the background.
esptool.py is used in the Platform fork of espressif32 ->
pioarduino
to provide the actual espressif32 Arduino core compatible to use with Platformio. esptool.py is not installed (via pypi), it is just copied, very early during install of the espressif32 platform (not my decision, it is Platformio).So the used pyenv has to met the requirements of esptool.py to work. This requirements are set in
platformio-core
as the name already suggests the core function of Platformio which is used for all Platforms Platformio supports. Since modifying this core component is not the way i want to do (fork pioarduino would not be compatible anymore...). I added the first new dependencyintelhex
directly in esptool.py (code parts of intelhex). Laterargcomplete
was added as further dependency.At this point i decided not to add the
argcomplete
in esptool.py as I did forintelhex
. Instead i heavily modified the pioarduino espressif32 platform builder. The builder now checks before doing "the main job" the pyenv for the needed pypi dependencies (defined in the espressif32 platform) and adds/changes or even rebuild the used pyenv completely.So it is now easily possible to add every needed pypi dependencies.
As long you add "just" pypi dependencies, I just need to know.
When overlooked this change, not a big deal anymore, since a clear error message will happen whats missing and needs adding in the pioarduino platforms pypi requirements config
7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jason2866 Thank you for explaining!
It is true that we don't really think about using esptool this way.
Nothing can be installed via pypi? Not even a custom fork of esptool (released on pypi)?
If you copy esptool and run
pip install .
from the directory then all dependencies should be installed and you don't have to worry about them. Does this approach have a blocker in the Platformio environment?7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dobairoland Thx for the feedback, and your thoughts how to solve. Very appreciated!
No, since it has a fixed system (path) where it is expected to be. Like for all needed tools. Not only Python tools.
This approach could/should work too. Honestly it is easier to add manually the dependencies which are needed (for esptool.py and others) and let install them automatically.
A change of the used esptool.py version needs maintainer action, so no unexpected surprises.
Looking forward for v4.9 :-)
7cc35e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All clear now. Thanks!
We will do a couple more releases from the
release/v4
branch: 4.9, 4.9.1, .... Maybe even 4.10, ...If you look at the master branch then it is already tuned for the v5.0 release. That is why so many and significant changes are happening there.