डिफ़ॉल्ट एनाकोंडा अजगर पर्यावरण को कैसे बदलें


170

मैंने एनाकोंडा स्थापित किया है और दो अतिरिक्त वातावरण बनाए हैं: py3k (जो पायथन 3.3 रखता है) और py34 (जो पायथन 3.4 रखता है)। इसके अलावा, मेरे पास 'रूट' नाम का एक डिफ़ॉल्ट वातावरण है जिसे एनाकोंडा इंस्टॉलर डिफ़ॉल्ट रूप से बनाया गया है और जो पायथन 2.7 को धारण करता है। यह अंतिम एक डिफ़ॉल्ट है, जब भी मैं टर्मिनल से 'ipython' लॉन्च करता हूं यह मुझे 2.7 संस्करण देता है। पायथन 3.4 के साथ काम करने के लिए, मुझे कमांड (शेल में) जारी करने की आवश्यकता है

source activate py34
ipython

जो कि डिफ़ॉल्ट वातावरण को Python 3.4 में बदल देता है। यह ठीक काम करता है, लेकिन जब मैं पायथन 2.7 के बजाय पायथन 3.4 (जो मैं शिक्षण उद्देश्यों के लिए रखता हूं, यह एक लंबी कहानी है) के बजाय ज्यादातर समय मैं परेशान हूं। वैसे भी, मैं यह जानना चाहता हूं कि डिफ़ॉल्ट वातावरण को पायथन 3.4 में कैसे बदला जाए, यह ध्यान में रखते हुए कि मैं सब कुछ खरोंच से पुनर्स्थापित नहीं करना चाहता हूं।


7
क्या आपने source activate py34अपने उपयोग में विचार किया है .bashrc?
cel

1
आपके उत्तर के लिए धन्यवाद। मैंने इसकी कोशिश नहीं की है क्योंकि मुझे लगता है कि किसी bash स्क्रिप्ट से सोर्स को कॉल करना संभव नहीं है, क्योंकि सोर्स कमांड को एक ही शेल में चलाने की जरूरत होती है, न कि सबस्क्रिप्शन में। मैंने ऊपर दो पंक्तियों को बैश स्क्रिप्ट में डालने की कोशिश की है, और मैं कह सकता हूं कि यह काम नहीं करता है।
user2734434

4
मैं CONDA_ROOT="/Users/bla/miniconda"और source ${CONDA_ROOT}/bin/activate ${CONDA_ROOT}/envs/empty &> /dev/nullमेरे में .bashrcऔर यह ठीक काम करने लगता है।
cel

1
मुझे लगता .bashrcहै कि एक स्क्रिप्ट के रूप में नहीं चलाया जाता है, लेकिन नए शेल द्वारा sourced है, इसलिए आप इसे बैश स्क्रिप्ट चलाकर नहीं देख सकते।
सीएल

3
@ user2734434 bashrc फ़ाइल सत्र की शुरुआत में खट्टी है, इसलिए यदि आप इसमें डालते हैं, तो source activateयह शेल वातावरण को प्रभावित करेगा।
asmeurer

जवाबों:


86

यदि आप किसी अन्य वातावरण में परिवर्तन करना चाहते हैं, तो उपयोग करें

source activate environment-name

(आप environment-name`conda create के साथ बना सकते हैं)


आमतौर पर यह सिर्फ नए वातावरण बनाने के लिए सबसे अच्छा है। हालाँकि, यदि आप वास्तव में डिफ़ॉल्ट वातावरण में पायथन संस्करण को बदलना चाहते हैं, तो आप निम्नानुसार कर सकते हैं:

सबसे पहले, सुनिश्चित करें कि आपके पास चलकर कॉन्डा का नवीनतम संस्करण है

conda update conda

फिर भागो

conda install python=3.5

यह आपके रूट वातावरण में अपने सभी पैकेजों को पायथन 3 संस्करणों में अपडेट करने का प्रयास करेगा। यदि यह संभव नहीं है (उदाहरण के लिए, क्योंकि कुछ पैकेज पायथन 3.5 के लिए नहीं बनाया गया है), तो यह आपको एक त्रुटि संदेश देगा जो दर्शाता है कि पैकेज किस कारण से हुआ है।

यदि आपने पाइप के साथ पैकेज स्थापित किए हैं, तो आपको उन्हें फिर से स्थापित करना होगा।


1
@flutefreak यह वास्तव में अब विंडोज पर काम करेगा ( conda update condaयह सुनिश्चित करने के लिए सबसे पहले चलाएं कि आपके पास नवीनतम संस्करण है)। मैं जवाब अपडेट कर दूंगा।
asmeurer

126
यह उत्तर उस प्रश्न से जुड़ता नहीं दिख रहा है, जो डिफ़ॉल्ट वातावरण को बदलने के बारे में है।
बॉब

16
@asmeurer लेकिन यह नहीं पूछा गया है। वह किसी भी एनवी में पैकेज अपडेट नहीं करना चाहता है। वह py34 को डिफ़ॉल्ट वातावरण बनाना चाहता है, हस्तक्षेप के बिना सक्रिय होना चाहता है, इसलिए py34 सक्रिय है इससे पहले कि वह "स्रोत सक्रिय" कमांड भेजता है।
बॉब

20
मुझे @ @ के साथ यहाँ सहमत होना होगा। रूट वातावरण में संकुल को 3.5 पर अद्यतन किया जाएगा, और इससे मूल पोस्टर की विशिष्ट समस्या हल हो सकती है। लेकिन जब आप एक प्रॉम्प्ट खोलते हैं तो आप अभी भी रूट वातावरण में होंगे, इसलिए आपने दूसरा डिफ़ॉल्ट वातावरण निर्दिष्ट नहीं किया है। चूंकि हर कोई जो इसे प्राप्त करना चाहता है और इस सवाल पर समाप्त होता है, यह बेहतर होगा यदि मूल प्रश्नों का उत्तर भी दिया गया है। शायद मूल एनवी को रूट के अलावा किसी अन्य चीज़ में बदलना संभव नहीं है?
अर्जन

4
यह मेरे लिए काम नहीं करता है। मेरा डिफ़ॉल्ट python 3.4 है, ध्वज का उपयोग करके python=3.53.4 से 3.5 तक अजगर को उन्नत नहीं किया ... कोई सुझाव?
21

56

अवलोकन
कुछ लोगों के पास अनुकूलता कारणों के लिए अजगर के विभिन्न संस्करणों के साथ कई एनाकोंडा वातावरण हैं। इस मामले में, आपके पास एक स्क्रिप्ट होनी चाहिए जो आपके डिफ़ॉल्ट वातावरण को सेट करती है। इस पद्धति के साथ, आप अपने वातावरण में उपयोग किए जाने वाले अजगर के संस्करणों को संरक्षित कर सकते हैं।

निम्नलिखित मान लिया गया है environment_name आपके पर्यावरण का नाम है

Mac / Linux:
अपनी bash प्रोफ़ाइल संपादित करें ताकि अंतिम पंक्ति हो source activate environment_name। मैक OSX में यह ~ / .bash_profile है, अन्य वातावरणों में यह ~ / .bashrc हो सकता है

उदाहरण:
यहाँ मैंने मैक OSX पर कैसे किया

  1. टर्मिनल खोलें और टाइप करें:

    nano ~/.bash_profile

  2. फ़ाइल के अंत में जाएं और निम्नलिखित टाइप करें, जहां "p3.5" मेरा वातावरण है:

    source activate p3.5

  3. फ़ाइल से बाहर निकलें। एक नई टर्मिनल विंडो शुरू करें।

  4. पर्यावरण क्या सक्रिय है, यह देखने के लिए निम्नलिखित टाइप करें

    conda info -e

परिणाम दिखाता है कि मैं डिफ़ॉल्ट रूप से अपने p3.5 वातावरण का उपयोग कर रहा हूं।

विंडोज के लिए:
कमांड प्रॉम्प्ट (.cmd) बनाएं activate environment_nameऔर जब भी आप कमांड प्रॉम्प्ट खोलें तो इसे निष्पादित करने के लिए इन निर्देशों का पालन करें

  1. एक बैच फ़ाइल कमांड बनाएं, जैसे "my_conda.cmd", इसे एप्लिकेशन डेटा फ़ोल्डर में डालें।
  2. जब भी आप खोलें, इसे स्वचालित रूप से प्रारंभ करने के लिए कॉन्फ़िगर करें cmd। यह सेटिंग रजिस्ट्री में है:
    कुंजी: HKCU \ SOFTWARE \ Microsoft \ Command Processor
    मान: AutoRun
    प्रकार: REG_EXPAND_SZ
    डेटा: "% AppData% \ my_conda.cmd"

इस उत्तर से: https://superuser.com/a/302553/143794


1
आपका बहुत बहुत धन्यवाद। मैंने पाया कि मैक के मेरे संस्करण के साथ मैं पायथन 2 से छुटकारा पाने में असमर्थ हूं - इसलिए दो अलग-अलग वातावरण स्थापित करने के लिए अनुशंसित कार्रवाई का पालन किया, लेकिन हर नई टर्मिनल विंडो पर पर्यावरण को सक्रिय करने के लिए याद रखना बहुत कष्टप्रद था। यह काम!
Livvy Jeffs

यह एक टूटी हुई पाइप और जमे हुए कमांड प्रॉम्प्ट की ओर जाता है जब मैं विंडोज 10 के तहत ऐसा करता हूं
aaronsnoswell

विंडोज 10 पर किसी को भी इस के साथ बेहतर भाग्य है?
वासादामो

3
यह स्वीकृत उत्तर होना चाहिए (कम से कम यूनिक्स आधारित कोनडा के लिए)!
साइमन वान मैकिन

50

लिनक्स के तहत डिफ़ॉल्ट वातावरण को संशोधित करके सेट करने का एक आसान तरीका है ~/.bashrcया ~/.bash_profile अंत में आपको कुछ ऐसा मिलेगा

# added by Anaconda 2.1.0 installer
export PATH="~/anaconda/bin:$PATH"

इसे बदलें

# set python3 as default
export PATH="~/anaconda/envs/python3/bin:$PATH"

और यह सब वहाँ है।


3
और सवाल क्या है?
डायटर मीमकेन

मैंने इस समाधान की कोशिश की, लेकिन यह अभी भी मेरे रास्ते पर एनाकोंडा 2 दिखाता है, कोई विचार?
विलियम रॉस

10
यह डिफ़ॉल्ट वातावरण सेट नहीं करता है। यह कोंडा को घेरने के लिए प्रकट होता है और यह सोचने के लिए बाहर निकलता है कि "python3" डिफ़ॉल्ट है। "conda info -e" अभी भी "मूल" को वर्तमान परिवेश के रूप में दिखाता है। मैं अभी भी conda बताने के लिए एक रास्ता खोज रहा हूँ जो कि डिफ़ॉल्ट है।
मि .मास

8
यह डिफ़ॉल्ट वातावरण को कोंडा के दृष्टिकोण से निर्धारित नहीं करता है। यह कोंडा को घेरने के लिए प्रकट होता है और यह सोचने के लिए बाहर निकलता है कि "python3" डिफ़ॉल्ट है। "conda info -e" अभी भी "मूल" को वर्तमान परिवेश के रूप में दिखाता है। इसे ठीक करने के लिए, आपको CONDA_PREFIX और CONDA_DEFAULT_ENV भी सेट करना होगा। फिर भी, जवाब अभी भी एक हैक है; क्यों न केवल 'सोर्स एक्टिवेट <नया डिफॉल्ट एनवायरनमेंट' चलाया जाए क्योंकि इसे पहले से ही इसे पूरा करने के लिए "बिल्ट-इन" तरीके से कोंडा प्रदान किया गया है।
मरमस

वहाँ एक है .bashrcया .bash_profileविंडोज 10 पर? मुझे इस jattenberg.github.io/PDS-Fall-2013/assets/install/… का अनुसरण करते हुए एक के तहत एक साइबरविन मिला । लेकिन मुझे यकीन नहीं है कि ओपी की वांछित कार्यक्षमता प्राप्त करने के लिए मुझे इसे बदलना चाहिए।
वासादामो

14

विंडोज़ के लिए एनाकोंडा एनाकोंडा प्रॉम्प्ट के साथ आता है जो कि cmd का एक शॉर्टकट है और इसे PATH वैरिएबल में एनाकोंडा को शामिल किए बिना कॉन्डा कमांड का उपयोग किया जा सकता है। इसके स्थान का पता लगाएं, प्रतिलिपि बनाएं और नाम बदलें (myenv_prompt कहते हैं)। राइट-क्लिक करें myenv_prompt और संदर्भ मेनू में गुण चुनें।

यहां छवि विवरण दर्ज करें

प्रॉपर्टीज़ विंडो का टारगेट फॉर्म पहले से ही टेक्स्ट से भरा होना चाहिए, जैसे कुछ %windir%\system32\cmd.exe "/K" C:\Users\xxx\AppData\Local\Continuum\Miniconda3\Scripts\activate.bat C:\Users\xxx\AppData\Local\Continuum\Miniconda3\ इस कमांड के तीन हिस्से हैं 1) स्टार्ट ... \ cmd.exe 2) रन ... \ acitvate.bat with environment 3) ... \ Miniconda3 \

पर्यावरण के पथ के लिए तीसरा भाग बदलें (myenv का कहना है) आप डिफ़ॉल्ट रूप से चाहते हैं अर्थात लक्ष्य फ़ॉर्म को कुछ इस तरह भरें%windir%\system32\cmd.exe "/K" C:\Users\xxx\AppData\Local\Continuum\Miniconda3\Scripts\activate.bat C:\Users\xxx\AppData\Local\Continuum\Miniconda3\envs\myenv

अब myenv_prompt अजगर के लिए डिफ़ॉल्ट वातावरण के रूप में myenv के साथ cmd शुरू करने के लिए शॉर्टकट के रूप में कार्य करेगा। इस शॉर्टकट को आप स्टार्ट मेन्यू में रख सकते हैं या टास्कबार में पिन कर सकते हैं।

इस पद्धति का एक फायदा यह है कि आप अलग-अलग वातावरण वाले प्रत्येक शॉर्टकट को डिफ़ॉल्ट वातावरण के रूप में बना सकते हैं। इसके अलावा आप गुण विंडो के रूप में प्रारंभ को भरकर डिफ़ॉल्ट फ़ोल्डर सेट कर सकते हैं

उम्मीद है की यह मदद करेगा

पुनश्च: एनाकोंडा प्रॉम्प्ट खोजने की आवश्यकता नहीं है और किसी भी शॉर्टकट के लक्ष्य को बदलकर किया जा सकता है। लेकिन आपको cmd.exe का रास्ता जानना होगा और activate.bat करना होगा


2
यह शीर्ष उत्तर होना चाहिए
जेम्स मैककेरमैक

मैं इस पद्धति का उपयोग करता हूं, लेकिन मेरा पहला भाग थोड़ा अलग है: C:\Windows\System32\cmd.exe /c start ""निश्चित नहीं कि मैं उस समाधान पर कैसे पहुंचा, लेकिन यहां मैंने एक पोस्ट बनाई है जिसके बारे में यह वाक्यविन्यास है
xtian

8

स्थायी बदलें

conda install python={version}

अस्थायी रूप से बदलें

अपने वातावरण देखें

चलाने के conda info --envsअपने टर्मिनल विंडो या एक Anconda शीघ्र पर

यदि यह पर्यावरण नहीं दिखाता है जिसे आप स्थापित करना चाहते हैं

conda create -n py36 python=3.6 anacondaअपनी पसंद के रूप में अजगर 3.6 परिवर्तन संस्करण के लिए चलाएँ

पर्यावरण को सक्रिय करना (एनाकोंडा प्रॉम्प्ट का उपयोग करें)

चलाने activate envnmeenvnme आप इस आदेश से प्राप्त कर सकते हैं conda info --envsजब आप चलाने के एक उदाहरण के रूप में conda info --envsयह दिखाने

base * C:\Users\DulangaHeshan\Anaconda3 py36 C:\Users\DulangaHeshan\Anaconda3\envs\py36

फिर भागो activate py36

चलाने के लिए जाँच करें python --version

विंडोज में, दूसरे को सक्रिय करने से पहले एक वातावरण को निष्क्रिय करना अच्छा अभ्यास है। https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html?highlight=deactivate%20environment


3
मुझे लगता है कि ओपी एक ऐसा समाधान चाहता है जो आधार वातावरण को p36 में बदल दे ताकि उन्हें activate py36हर बार स्टार्टअप पर नहीं चलना पड़े ।
वासादामो

6

सही उत्तर (दिसंबर 2018 के अनुसार) है ... आप नहीं कर सकते। अपग्रेड conda install python=3.6करना काम कर सकता है, लेकिन ऐसा नहीं हो सकता है अगर आपके पास ऐसे पैकेज हैं जो आवश्यक हैं, लेकिन उन्हें अनइंस्टॉल नहीं किया जा सकता है।

एनाकोंडा नामक एक डिफ़ॉल्ट वातावरण का उपयोग करता है baseऔर आप एक ही नाम के साथ एक नया (उदाहरण अजगर 3.6) वातावरण नहीं बना सकते हैं। यह जानबूझकर किया गया है। यदि आप चाहते हैं कि आपका आधार एनाकोंडा अजगर 3.6 हो, तो इसका सही तरीका यह है कि अजगर 3.6 के लिए एनाकोंडा स्थापित करें। एक पैकेज मैनेजर के रूप में, एनाकोंडा का लक्ष्य विभिन्न वातावरणों को संक्षिप्त बनाना है, इसलिए आपको स्रोत को उनमें सक्रिय करना चाहिए और क्यों आप चुपचाप बेस पैकेज को स्विच नहीं कर सकते क्योंकि यह उत्पादन प्रणालियों पर कई मुद्दों को जन्म दे सकता है।


क्या होगा यदि मेरा आधार वातावरण टूट गया है और मैं इसे एक के साथ बदलना चाहता हूं जो काम करता है?
एंडोलिथ

@endolith क्या होगा यदि मेरा आधार वातावरण टूट गया है और मैं इसे उस काम के साथ बदलना चाहता हूं? कॉनडा को पुनर्स्थापित करें।
एएमसी

@AMC मैंने कई बार पुनः इंस्टॉल किया है। मैं सब कुछ फिर से करने के बिना एक अच्छे राज्य को पुनर्प्राप्त करने का एक तरीका चाहता हूं
एंडोलिथ जू

1
@endolith आपने एक ही सटीक समस्या को ठीक करने के लिए कई बार पुनः इंस्टॉल किया है? यह कैसे टूट गया? हमें अन्यत्र चर्चा करनी चाहिए, मैंने एक चैट रूम बनाया ।
एएमसी

1

मैं यहाँ प्रस्तुत किसी भी उत्तर से संतुष्ट नहीं था, क्योंकि एक वातावरण को सक्रिय करने के लिए मेरे मंच पर कुछ सेकंड लगते हैं (जो भी कारण हो)

मैंने अपने पथ चर को संशोधित किया है ताकि मैं जिस पर्यावरण को डिफ़ॉल्ट चाहता हूं, वास्तविक डिफ़ॉल्ट पर प्राथमिकता हो।

मेरे मामले में मैंने पर्यावरण "py35" को पूरा करने के लिए निम्नलिखित आदेशों का उपयोग किया:

setx PATH "%userprofile%\Anaconda3\envs\py35\;%PATH%"
setx PATH "%userprofile%\Anaconda3\envs\py35\Scripts;%PATH%"

यह जानने के लिए कि आपका वातावरण कहाँ संग्रहीत है, इसे सक्रिय करें और दर्ज करें where python। मुझे यकीन नहीं है कि अगर इस दृष्टिकोण में कोई गिरावट है। चूंकि यह कोंडा निष्पादन योग्य के डिफ़ॉल्ट पथ को भी बदलता है। अगर ऐसा होना चाहिए, तो कृपया टिप्पणी करें।


1

एनाकोंडा का उपयोग करके लाइब्रेरी स्थापित करते समय मुझे यह मिला। मेरा संस्करण पायथन 3. * से 2.7 तक चला गया और मेरे बहुत सारे सामान ने काम करना बंद कर दिया। सबसे अच्छा समाधान मुझे सबसे पहले उपलब्ध सबसे हाल के संस्करण को देखना था:

conda search python

फिर इच्छित संस्करण पर अपडेट करें:

conda install python=3.*.*

स्रोत: http://chris35wills.github.io/conda_python_version/

अन्य सहायक आदेश:

conda info
python --version

मेरा संस्करण पायथन 3. * से 2.7 तक चला गया और मेरे बहुत सारे सामान ने काम करना बंद कर दिया। जब तक मैं कुछ याद नहीं कर रहा हूँ, यह प्रश्न से संबंधित नहीं दिखता है और ओपी में क्या वर्णित है।
एएमसी

0

डेस्कटॉप या टास्कबार पर एनाकोंडा प्रॉम्प्ट का एक शॉर्टकट बनाएं, और फिर उस शॉर्टकट के गुणों में सुनिश्चित करें कि आप "टारगेट:" में उर पर्यावरण के पथ पर अंतिम पथ को संशोधित करें:

C: \ Users \ BenBouali \ Anaconda3 \ WILL बदलेंगे C: \ Users \ BenBouali \ Anaconda3 \ envs \ tanorflow-gpu

पूर्वावलोकन

और इस तरह से यू उस शॉर्टकट का उपयोग एक निश्चित वातावरण को खोलने के लिए कर सकता है जब आप इसे क्लिक करते हैं, तो आप इसे उर पथ पर भी जोड़ सकते हैं और अब आप इसे शॉर्टकट के नाम पर टाइप करके विंडोज़ रन बॉक्स से चला सकेंगे।


0

Windows पर, इसमें निम्न पंक्ति के साथ एक बैच फ़ाइल बनाएँ:

start cmd /k "C:\Anaconda3\Scripts\activate.bat C:\Anaconda3 & activate env"

उद्धरणों में निहित पहला पथ एनाकोंडा इंस्टालेशन में active.bat फ़ाइल का पथ है। आपके सिस्टम का पथ भिन्न हो सकता है। निश्चित रूप से सक्रिय कमांड का नाम आपके वांछित पर्यावरण का नाम होना चाहिए।

जब आपको एनाकोंडा प्रॉम्प्ट खोलने की आवश्यकता हो तब बैच फ़ाइल को चलाएं।


0

जब आप अपने टर्मिनल / शेल को लोड करते हैं, तो अपने "आधार" वातावरण को ओपी के रूप में py34लोड करें।

यदि आप बैश का उपयोग करते हैं, तो लाइन लगाएं:

conda activate py34

आपके .bash_profile(या .bashrc) में:

$ echo 'conda activate py34' >> ~/.bash_profile

हर बार जब आप एक नया टर्मिनल चलाते हैं, तो कॉन्डा का वातावरण py34लोड हो जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.