-
Notifications
You must be signed in to change notification settings - Fork 105
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
Add missing pyyaml dependency #150
Add missing pyyaml dependency #150
Conversation
Signed-off-by: Dan Rose <dan@digilabs.io>
9f640e2
to
9668c3c
Compare
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.
The dependency needs to be declared in the package manifest. |
Oops. I figured putting it in setup.py was good enough, since typically setuptools makes sure dependency packages get installed. What's the relation between the package manifest and the setup.py for Python package dependencies? Is there a way to declare it in one place for DRYer code? |
The dependencies declared in the manifest are used to determine the topological build order as well as during packaging are mapped to e.g. Debian package names.
No. |
as per ament#150 (comment) Signed-off-by: Dan Rose <dan@digilabs.io>
Hmmm. That seems problematic for a multiple-interpreter system. If you have your workspace building on top of python3.7 but |
If you use a non-default Python interpreter on your system the Debian packages will likely not help you much since they are standardized on the default version shipped in that distribution. In that case you do whatever you like to satisfy your dependencies (e.g. a venv).
Because a Debian package can't depend on a package from PyPi - it must depend on Debian packages. |
So why doesn't colcon install the dependencies from PyPI as per the setup.py documentation? Colcon knows the current interpreter and the current install location. Presumably pip works on Debian - why use python packaging tools but non-standard python dependency resolution? Edit: found useful discussion here ros/rosdistro#18840 |
There are severe downsides of using |
ament_clang_format will crash without this dependency with something like: