रूट वातावरण केवल आपके द्वारा शुरू किया जाने वाला वातावरण है। आपके पास केवल पाइथन पैकेज तक पहुंच है जिसे आपने वर्तमान कोंडा पर्यावरण में स्पष्ट रूप से स्थापित किया है। यहां मेरा सिस्टम कैसा दिखता है। ध्यान दें कि अजगर मॉड्यूल खोज सूची (sys.path) के सभी रास्तों जड़ 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
जब आप conda वातावरण स्विच, अजगर अब अजगर मॉड्यूल है कि पर्यावरण के लिए विशिष्ट फ़ोल्डर से खींच लेंगे:
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
आप एक अजगर मॉड्यूल पर पहुंच चाहते हैं, तो आप conda install XXX
(अनुशंसित) या pip install XXX
साथ कि conda वातावरण में यह स्पष्ट रूप से स्थापित करने के लिए होगा।
जहां तक मुझे पता है, इस व्यवहार को ओवरराइड करने का कोई आसान तरीका नहीं है।
नोट: यह गैर-पायथन कार्यक्रमों के लिए सही नहीं है। आपके निष्पादन पथ में कोई भी प्रोग्राम हमेशा उपलब्ध होगा, कोंडा के माध्यम से स्थापित कार्यक्रमों को प्राथमिकता के साथ। ऐसा इसलिए है क्योंकि कोंडा इंस्टॉल स्थान आपके पैथ की शुरुआत में है। ईजी:
(snake) jmepple-lm:~ jmeppley$ echo $PATH
/Users/jmeppley/anaconda3/envs/snake/bin:/Users/jmeppley/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
कोंडा का नाम 'रूट' पर्यावरण का चयन भयानक है और सभी प्रकार की गलत चीजों का तात्पर्य है। अनुमति, विशेषाधिकार वृद्धि का जोखिम। अगर इसे आसानी से 'बेस' नाम दिया गया था तो इस चर्चा को रोक दिया गया होगा। – smci