2017-01-13 15 views
5

कोंडा में 'रूट' पर्यावरण क्या है? क्या यह सिर्फ एक पर्यावरण है जो सिस्टम पैकेजों का उपयोग करता है?क्या कोंडा वातावरण के पास 'रूट' पर्यावरण तक पहुंच है? (== सिस्टम पैकेज)?

क्या अन्य वातावरण सिस्टम संकुल का भी उपयोग करते हैं (मैं डुप्लीकेट के अपने संस्करणों को वरीयता देना चाहूंगा)?

या मुझे पर्यावरण में अपने सभी पैकेज इंस्टॉल करने की आवश्यकता होगी जहां मैं उनका उपयोग करना चाहता हूं?

क्या इसे एक विकल्प के रूप में कॉन्फ़िगर करने का कोई तरीका है?

मेरे पास एक सिस्टम पैकेज स्थापित है लेकिन जब मैं कोंडा पर्यावरण में हूं तो मैं इसे आयात नहीं कर सकता।

+0

कोंडा का नाम 'रूट' पर्यावरण का चयन भयानक है और सभी प्रकार की गलत चीजों का तात्पर्य है। अनुमति, विशेषाधिकार वृद्धि का जोखिम। अगर इसे आसानी से 'बेस' नाम दिया गया था तो इस चर्चा को रोक दिया गया होगा। – smci

उत्तर

4

रूट वातावरण केवल आपके द्वारा शुरू किया जाने वाला वातावरण है। आपके पास केवल पाइथन पैकेज तक पहुंच है जिसे आपने वर्तमान कोंडा पर्यावरण में स्पष्ट रूप से स्थापित किया है। यहां मेरा सिस्टम कैसा दिखता है। ध्यान दें कि अजगर मॉड्यूल खोज सूची (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 
संबंधित मुद्दे