How to still using anaconda Python3 after activate a conda environment?

核能气质少年 提交于 2020-06-29 04:54:49

问题


I'm using MAC OS and installed python2, then miniconda python2, and then Anaconda python3.

Now normally in terminal my python version would be python3, but if I activate a conda environment "test", then the default python will be python2.

I believe the reason is the $PATH is changed, at "base" env (when terminal started), the starting part is "/anaconda3/bin:/anaconda3/condabin", and after "conda activate env", it changed to "/anaconda3/envs/test/bin:/anaconda3/condabin" which do not have python3 in those bin folder.

Is there a method to make the conda environment using the python3 of Anaconda?

I tried to create a link (both symbolic and hard) /anaconda3/envs/test/bin/python -> /anaconda3/bin/python. By this way, anaconda python3 can be started inside conda env. Then I found pip still not reachable. I think may create a pip link file too. But I guess this is not the correct way to use a conda environment?

(base) $which python
/anaconda3/bin/python
(base) $which pip
/anaconda3/bin/pip

(base) $conda activate test
(test) $which python
/usr/bin/python
(test) $which pip
'''no result'''

I expect the created conda env to use the same python3 as in base env, and can use pip, without setup symbolic or hard link.


回答1:


When you activate a conda environment, you'll use the Python version from that environment. pip will automatically install into the active conda environment, unless you do something to break it, for example by calling another pip installation than the one from the current environment.

If you want to use a different Python, then don't activate the conda environment. If you want to use a specific version of Python in an environment, then install that version into that environment. Inside an environment, you can only (reasonably) use the Python version that's installed in the environment.

By the way, it is pointless to install different versions of Anaconda or Miniconda alongside. Just install Miniconda and create conda environments for everything else. Install the package anaconda into an environment to get the packages that Anaconda brings along.




回答2:


I think you have added the path of "/usr/bin/python" in $PATH by anyway. So while doing python from inside a specific conda environment you are redirected to use the "/usr/bin/python" instead of "/anaconda3/bin/python". You can check the path by

$ $PATH



来源:https://stackoverflow.com/questions/56734034/how-to-still-using-anaconda-python3-after-activate-a-conda-environment

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!