Środowisko root jest środowiskiem, od którego zaczynasz. Masz dostęp tylko do pakietów Pythona, które zostały jawnie zainstalowane w bieżącym środowisku conda. Oto jak wygląda mój system. Zauważ, że wszystkie ścieżki na liście wyszukiwania moduł Pythona (sys.path) znajdują się w folderze głównym Conda:
jmepple-lm:~ jmeppley$ conda env list
# conda environments:
#
anvio /Users/jmeppley/anaconda3/envs/anvio
anvio2 /Users/jmeppley/anaconda3/envs/anvio2
jupyter /Users/jmeppley/anaconda3/envs/jupyter
snake /Users/jmeppley/anaconda3/envs/snake
root * /Users/jmeppley/anaconda3
jmepple-lm:~ jmeppley$ python -c "import sys; print(\"\\n\".join(sys.path))"
/Users/jmeppley/anaconda3/lib/python35.zip
/Users/jmeppley/anaconda3/lib/python3.5
/Users/jmeppley/anaconda3/lib/python3.5/plat-darwin
/Users/jmeppley/anaconda3/lib/python3.5/lib-dynload
/Users/jmeppley/anaconda3/lib/python3.5/site-packages
/Users/jmeppley/anaconda3/lib/python3.5/site-packages/aeosa
/Users/jmeppley/anaconda3/lib/python3.5/site-packages/galaxy_lib-17.5.9-py3.5.egg
/Users/jmeppley/anaconda3/lib/python3.5/site-packages/mmtf_python-1.0.5-py3.5.egg
/Users/jmeppley/anaconda3/lib/python3.5/site-packages/pysftp-0.2.8-py3.5.egg
/Users/jmeppley/anaconda3/lib/python3.5/site-packages/python_dateutil-2.3-py3.5.egg
/Users/jmeppley/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg
/Users/jmeppley/anaconda3/lib/python3.5/site-packages/urllib3-1.12-py3.5.egg
Po przełączeniu środowisk Conda, Python będzie teraz wyciągnąć modułów Pythona z folderów specyficzne dla danego środowiska:
jmepple-lm:~ jmeppley$ source activate snake
(snake) jmepple-lm:~ jmeppley$ python -c "import sys; print(\"\\n\".join(sys.path))"
/Users/jmeppley/anaconda3/envs/snake/lib/python35.zip
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/plat-darwin
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/lib-dynload
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/site-packages
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/site-packages/mmtf_python-1.0.5-py3.5.egg
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/site-packages/pysftp-0.2.8-py3.5.egg
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/site-packages/python_dateutil-2.3-py3.5.egg
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg
/Users/jmeppley/anaconda3/envs/snake/lib/python3.5/site-packages/urllib3-1.12-py3.5.egg
Jeśli chcesz otrzymać dostęp do modułu Pythona, musisz zainstalować go wyraźnie w tym środowisku Conda z conda install XXX
(zalecane) lub pip install XXX
.
O ile mi wiadomo, nie ma łatwego sposobu na obejście tego zachowania.
UWAGA: Nie dotyczy to programów innych niż Python. Wszystkie programy w twojej ścieżce wykonania będą zawsze dostępne, przy czym preferowane będą programy instalowane przez Conda. Dzieje się tak dlatego, że lokalizacja instalacji conda znajduje się na początku twojej zmiennej PATH. EG:
Wybór przez Conda środowiska "root" jest okropny i pociąga za sobą różnego rodzaju złe rzeczy, np. uprawnienia, ryzyko eskalacji uprawnień. Gdyby po prostu nazwano to "bazą", ta dyskusja zostałaby pominięta. – smci