porterjamesj/virtualenvwrapper.el

conda: Cant find executable

Closed this issue · 1 comments

Been trying to get to know python and all about virtual environments. Using normal Cpython and virtualenv everything works but trying to use virtual envs defined though conda does not. I am having trouble finding out which package that needs to be updated (or if its even at all possible)

As envs made by anaconda go into the ~/.pyenv/versions/anaconda3-4.4.0/envs dir I changed this:

(setenv "WORKON_HOME" "/Users/****/.pyenv/versions/anaconda3-4.4.0/envs")

Would be better to change the prefix for anaconda but this should show my problem for now.
See: this

So pyenv-workon can find the envs. It can find them but when changing to it I get the following error by anaconda-mode:
/usr/local/Cellar/emacs-plus/HEAD-400934b_2/Emacs.app/Contents/MacOS/Emacs: /Users/****/.pyenv/versions/anaconda3-4.4.0/envs/testtt/bin/python: No such file or directory

This makes sense as looking in the directory these are the only files:

activate
conda
deactivate

Now I really do not know if the problem is from this package, pyenv or anaconda-mode. I also tried using another package conda.el but ended up with the same error. Any ideas where to start looking. I did try editing conda.el to a new exec-path when activating but no luck. I am leaning towards that it is the function pythonic-activate that helps all the packages find the executable but digging there just got me lost. Any ideas?

Hmmm I'm not sure. I haven't used conda much, and my (admittedly limited) understanding is that conda environments work in a completely different way than virtualenvs and that trying to use them together is only going to lead to a lot of pain. The general philosophy with conda seems to be that they don't try to interoperate with the rest of the python ecosystem and have their own separate world of tools. Because I'm a dedicated pip/virtualenv user, I never intended it to work with conda and I'm not going to make any effort to add conda support to this package. Sorry I can't be more helpful :/ I recommend looking for (or writing!) a conda-specific package that does whatever you're using this one for.