Pyenv-virtualenv: Conda 4.4.4 breaks pyenv virtual environments

Created on 29 Dec 2017  路  7Comments  路  Source: pyenv/pyenv-virtualenv

How to reproduce

  • pyenv install miniconda3-latest (the result is actually the same with miniconda3-4.3.3 since conda gets updated to 4.4.4 during the install)
  • pyenv virtualenv miniconda3-latest my-env

After performing the above steps, pyenv which conda doesn't list my-env as one of the environments that have the executable, it's missing in ~/.pyenv/versions/miniconda3-latest/envs/my-env/bin/ and upon the environment's activation with pyenv activate my-env, conda command is not available.

Workaround

After installing miniconda3-latest, downgrade conda to 4.3.30:

  • pyenv activate miniconda3-latest
  • conda install conda=4.3.30
  • re-create the affected virtual environments

Just speculating here, but the issue may be caused by https://www.anaconda.com/blog/developer-blog/how-to-get-ready-for-the-release-of-conda-4-4/ in Conda 4.4.4, for example the name of the default environment has been changed from "root" to "base".

Most helpful comment

More reports for this issue are also present in #178

All 7 comments

Thank you for the temporary workaround. I ran into this issue earlier today when upgrading my miniconda versions.

More reports for this issue are also present in #178

I have the same problem here.

290 was recently merged.

Does the issue persist?

I can now access the conda environment through pyenv activate myenv, but pyenv which conda points to the root conda version rather than the conda environment's bin directory.

but pyenv which conda points to the root conda version rather than the conda environment's bin directory

I think the root conda executable serves all environments now.
In my tests with the latest conda release and pyenv removed, conda create -n test doesn't even create a bin directory, so that appears to be the new design.

Do your conda environments work with pyenv?
Can you

  • pyenv versions
  • pyenv virtualenvs
  • pyenv local version
  • pyenv virtualenv root-conda new-version
  • pyenv virtualenv-delete version

with conda environments?

Just checked: all of those work. It just surprised me that the conda binary in the root environment would install packages in my activated environment rather than the root one.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

puhitaku picture puhitaku  路  5Comments

Insoleet picture Insoleet  路  3Comments

apapanico picture apapanico  路  4Comments

dimaqq picture dimaqq  路  7Comments

Tjorriemorrie picture Tjorriemorrie  路  8Comments