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

Install miniconda and make virtualenv from conda #110

Open
natefoo opened this issue Mar 6, 2020 · 2 comments
Open

Install miniconda and make virtualenv from conda #110

natefoo opened this issue Mar 6, 2020 · 2 comments

Comments

@natefoo
Copy link
Member

natefoo commented Mar 6, 2020

This would be pretty good to have for e.g. CentOS 7, where Python 3 may not be installed (or if it is, it may not be installed on the cluster). Having an option to use conda for Galaxy's venv/python would fix this.

@rhpvorderman
Copy link
Contributor

rhpvorderman commented Mar 17, 2021

@natefoo I was planning to take a shot at this. But how would this work with privilege separation?

  • The galaxy virtualenv should be managed by the privsep user.
  • The galaxy conda should be managed by the user running galaxy (in order to create environments).

Therefore if the virtualenv inherits from the conda python, the python in the virtualenv is essentially controlled by the galaxy user.

This poses a problem in the implementation. Unless we create a separate conda installation for both the privsep user and the galaxy user. But that seems like a big waste of space.

What is the preferred way forward here? I will have a look at https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/admin-multi-user-install.html to see if this problem can be easily solved.

@rhpvorderman
Copy link
Contributor

Appararently this is possible. I will try to implement something. Installing conda in /opt/conda and setting conda_exec in galaxy.yml to /opt/conda/bin/conda while keeping the same conda_prefix should do the trick. This requires conda_copy_dependencies: true to work. But that is not a big problem. I am currently working on installing galaxy in connection with slurm, so a configuration where all the necessary files are in the mutable data dir (on the cluster filesystem) is preferrable anyway.

My other angle is that galaxy containers are now produced with this ansible-galaxy role. I want to create a container with conda preinstalled. Having this available would be really nice. We could use such a container to test ephemeris better.

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.

2 participants