Skip to content

Conversation

@Jack-Punter
Copy link

No description provided.

@traversaro
Copy link
Member

Thanks! For reference for future readers, this is a necessary as otherwise rosdep will fail, as it does not add -c conda-forge -c robostack-<distro> to the install command after conda-forge/rosdep-feedstock#36 . @Jack-Punter can you please add the same to the conda instructions? conda and micromamba apparently share the same problem here.

@traversaro
Copy link
Member

Thanks, not sure if @Tobias-Fischer or @christianrauch have more comments.

@christianrauch
Copy link
Contributor

If we configure the channels separately, I would then suggest doing this once in the beginning, before installing any package and then remove any further channels hints during environment creation or package installation:

# conda
conda config --add channels robostack-jazzy
# micromamba
micromamba config append channels robostack-jazzy

and then create the environment without further channel hints:

micromamba create -n ros_env ros-jazzy-desktop

Btw, I really wish there would only be a single robostack channel to get rid of these redundancies :-)

@traversaro
Copy link
Member

If we configure the channels separately, I would then suggest doing this once in the beginning, before installing any package and then remove any further channels hints during environment creation or package installation:

# conda
conda config --add channels robostack-jazzy
# micromamba
micromamba config append channels robostack-jazzy

and then create the environment without further channel hints:

micromamba create -n ros_env ros-jazzy-desktop

I am not a big fan of this as the channels-related command of conda and micromamba without the --env options are changing the global state of the machine, and not just the newly created environments, with difficult to evaluate cross-talking effect to the rest of the system.

Btw, I really wish there would only be a single robostack channel to get rid of these redundancies :-)

Related discussion in #114 .

@christianrauch
Copy link
Contributor

I am not a big fan of this as the channels-related command of conda and micromamba without the --env options are changing the global state of the machine, and not just the newly created environments, with difficult to evaluate cross-talking effect to the rest of the system.

Shouldn't this be fine with the robostack channels since the packages have the distro encoded in the name anyway?

At the moment, the ROS distro name appears in different places and especially needing to specify the repo with the distro name multiple times is redundant. Isn't there a way to create the environment and specify the channels for the configuration in one go?

@traversaro
Copy link
Member

Shouldn't this be fine with the robostack channels since the packages have the distro encoded in the name anyway?

In theory yes, in practice I would prefer to avoid at all to pollute in any kind the global state of the user to avoid possibile problems I am not considering at the moment.

At the moment, the ROS distro name appears in different places and especially needing to specify the repo with the distro name multiple times is redundant. Isn't there a way to create the environment and specify the channels for the configuration in one go?

This is a good question, I am afraid not.

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 this pull request may close these issues.

3 participants