Skip to content
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

Make rosdep python2 and python3 side by side installable #618

Closed
mikaelarguedas opened this issue Aug 8, 2018 · 11 comments · Fixed by #731
Closed

Make rosdep python2 and python3 side by side installable #618

mikaelarguedas opened this issue Aug 8, 2018 · 11 comments · Fixed by #731

Comments

@mikaelarguedas
Copy link
Contributor

Something similar to ros-infrastructure/catkin_pkg#157

This will also allows us to use the python3 version of rosdep for the ROS 2 installation instruction without impacting existing ROS 1 install if any

@stonier
Copy link

stonier commented Sep 30, 2018

+1 for this. Would like to maintain a melodic and a bouncy environment in parallel without having to resort to docker containers.

@dirk-thomas
Copy link
Member

I don't want to argue that this package should not be split like the other Python packages. I certainly do think it would be good. I am just not sure what the exact use case is where this is required.

This will also allows us to use the python3 version of rosdep for the ROS 2 installation instruction without impacting existing ROS 1 install if any

The instructions will mentioned to install python-rosdep or python3-rosdep in order to make the global executable rosdep available. That will still not be possible even if the Python modules would be separated into their own Debian package - only these -modules packages will be side-by-side installable.

Would like to maintain a melodic and a bouncy environment in parallel without having to resort to docker containers.

@stonier Why would you need to install python-rosdep as well as python3-rosdep for that at the same time?

@JWhitleyAStuff Please provide a concrete use case where you require this.

@JWhitleyWork
Copy link

@dirk-thomas - my use case has disappeared. I was confusing other issues (which I have since resolved) with this one.

@stonier
Copy link

stonier commented Feb 20, 2019

Aye, not required. I have the python2 variants of the build tooling working for melodic and crystal. Had other problems with python3 variants, and much is clearer now, but not relevant to this post any longer.

@mikaelarguedas
Copy link
Contributor Author

Regarding the installation instructions, we moved to installing python-rosdep in the ROS2 instructions to avoid disrupting ROS1 users. starting with ROS Noetic we should be able to advise users to install python3-rosdep for ROS1 and ROS2.

So for that use case, resolving this ticket will not solve the issue and there is a path forward without having to split the package

@JWhitleyWork
Copy link

@mikaelarguedas - We can probably close this issue. I think this conversation provides enough context and solutions for future questions about the issue.

@mikaelarguedas
Copy link
Contributor Author

We can probably close this issue. I think this conversation provides enough context and solutions for future questions about the issue.

Sounds good to me 👍

@mikepurvis
Copy link

Our issue we're coming up against with this is that rospack.get_depends_on is needed for plugin discovery; rospack imports rosdep, and neither one has been split, so you can only have rospack and rosdep for either Python 2 or Python 3 (globally, anyway).

For a practical consequence of this, if you have a built-from-source Python 3 workspace on a machine that's otherwise running the Python 2 tools, that Python 3 workspace won't be able to do things like run find rosbag migration rules. This happens to be a fairly major frustration for us, as we have a migrated-to-Py3 workspace that is now no longer co-installable with the previous Py2 workspace, making support development on the previous release a headache.

FYI @guillaumeautran

@dirk-thomas
Copy link
Member

Please see #731.

@mikepurvis
Copy link

Thanks so much for the prompt service!

@mikepurvis
Copy link

Sorry, there's an error in my post above— rospack is an in-bundle package, the other standalone package is rospkg, which has already been split up (related discussion in ros-infrastructure/rospkg#103).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants