मैं एनाकोंडा को कैसे अपडेट करूं?


259

मेरे कंप्यूटर पर एनाकोंडा स्थापित है और मैं इसे अपडेट करना चाहूंगा। नेविगेटर में मैं देख सकता हूं कि कई व्यक्तिगत पैकेज हैं जिन्हें अपडेट किया जा सकता है, लेकिन यह भी एक anacondaपैकेज है जिसमें कभी-कभी एक संस्करण संख्या होती है और कभी-कभी कहती है custom। मैं कैसे आगे बढ़ूं?

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


1
अधिकांश उत्तर सुझाते हैं conda update [-n root] -v anaconda, लेकिन यह मेरी डाउनलोड करने की पेशकश कर रहा है python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0। बहुत टूटा हुआ लगता है।
smci

जवाबों:


417

95% लोग वास्तव में क्या चाहते हैं

ज्यादातर मामलों में आप क्या करना चाहते हैं जब आप कहते हैं कि आप एनाकोंडा को अपडेट करना चाहते हैं तो कमांड को निष्पादित करना है:

conda update --all

(लेकिन यह पहले से स्थापित होना चाहिए conda update -n root condaताकि आपके पास नवीनतम condaसंस्करण स्थापित हो)

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

इसे कमांड लाइन से निष्पादित करने की आवश्यकता है, और वहां पहुंचने का सबसे अच्छा तरीका एनाकोंडा नेविगेटर से है, फिर "एनवायरनमेंट" टैब, फिर root"ओपन टर्मिनल" का चयन करते हुए, पर्यावरण के साथ त्रिकोण पर क्लिक करें :

नेविगेटर से खुला टर्मिनल

यह ऑपरेशन केवल एक चयनित पर्यावरण (इस मामले में, rootपर्यावरण) को अपडेट करेगा । यदि आपके पास अन्य वातावरण हैं जिन्हें आप अपडेट करना चाहते हैं तो आप ऊपर की प्रक्रिया को दोहरा सकते हैं, लेकिन पहले पर्यावरण पर क्लिक करें। जब इसे चुना जाता है तो दाईं ओर एक त्रिकोणीय मार्कर होता है (ऊपर चित्र देखें, चरण 3)। या कमांड लाइन से आप पर्यावरण नाम ( -n envname) या पथ प्रदान कर सकते हैं ( -p /path/to/envउदाहरण के लिए, dspyrऊपर दिए गए स्क्रीनशॉट से अपने पर्यावरण को अपडेट करने के लिए :

conda update -n dspyr --all

अलग-अलग पैकेज अपडेट करें

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

व्यक्तिगत पैकेज अपडेट करने के लिए आवेदन करें

या कमांड लाइन से:

conda update astroid astropy

मानक एनाकोंडा वितरण में सिर्फ संकुल अद्यतन करना

यदि आप पैकेज संस्करणों की परवाह नहीं करते हैं और केवल "मानक एनाकोंडा वितरण में सभी पैकेजों का नवीनतम सेट चाहते हैं , तो जब तक वे एक साथ काम करते हैं" , तो आपको इस जिस्ट पर एक नज़र डालनी चाहिए

एनाकोंडा पैकेज को अपडेट करना लगभग हमेशा एक बुरा विचार क्यों है

ज्यादातर मामलों में पैकेज सूची में एनाकोंडा पैकेज को अपडेट करने का एक आश्चर्यजनक परिणाम होगा: आप वास्तव में कई पैकेजों को डाउनग्रेड कर सकते हैं (वास्तव में, यह संभावना है कि यह संस्करण के रूप में इंगित करता है custom)। ऊपर दिया गया विवरण प्रदान करता है।

लीवरेज कोंडा वातावरण

आपका rootवातावरण संभवतः पैकेजों के सटीक सेट को आज़माने और प्रबंधित करने के लिए एक अच्छी जगह नहीं है: यह एक गतिशील कामकाजी स्थान होने जा रहा है जिसमें नए पैकेज स्थापित किए गए हैं और पैकेज बेतरतीब ढंग से अपडेट किए गए हैं। यदि आपको संकुल के सटीक सेट की आवश्यकता है, तो उन्हें रखने के लिए एक कोंडा वातावरण बनाएँ। कोंडा पैकेज कैश के लिए धन्यवाद और जिस तरह से फ़ाइल लिंकिंग का उपयोग किया जाता है, वह आम तौर पर i) तेज है और ii) बहुत कम अतिरिक्त डिस्क स्थान की खपत करता है। उदाहरण के लिए

conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk

Conda प्रलेखन अधिक जानकारी और उदाहरण है।

पाइप, PyPI और सेटपूल?

इसमें से कोई भी उन अद्यतन पैकेजों की मदद करने वाला नहीं है, जिन्हें PyPI से इंस्टॉल किया गया है pipया किसी भी पैकेज का उपयोग करके स्थापित किया गया है python setup.py installconda listआपको पाइप-आधारित पायथन पैकेजों के बारे में कुछ संकेत देंगे जो आपके पास एक वातावरण में हैं, लेकिन यह उन्हें अपडेट करने के लिए कुछ विशेष नहीं करेगा।

एनाकोंडा या एनाकोंडा एंटरप्राइज का व्यावसायिक उपयोग

यह बहुत हद तक एक ही कहानी है, इस अपवाद के साथ कि आप rootपर्यावरण को अपडेट करने में सक्षम नहीं हो सकते हैं यदि यह किसी और द्वारा स्थापित किया गया था (कहने के लिए /opt/anaconda/latest)। यदि आप अपने द्वारा उपयोग किए जा रहे वातावरण को अपडेट करने में सक्षम नहीं हैं, तो आपको क्लोन और फिर अपडेट करने में सक्षम होना चाहिए:

conda create -n myenv --clone root
conda update -n myenv --all

10
मैं अभी भी conda update anacondaभविष्य के अपडेट के लिए जाऊंगा । बस किया था conda update --allऔर उसके बाद नेविगेटर शुरू नहीं कर सका, PySide ModuleNotFoundErrorजिसके कारण मैं अभी हल नहीं कर पाया। अपग्रेड होने के बाद भी। इसलिए मुझे एनाकोंडा को फिर से स्थापित करना पड़ा और अपने वातावरण को फिर से स्थापित करना पड़ा। और दूसरी बार यह मेरे साथ होता है जबकि मुझे इससे कोई समस्या नहीं थी conda update anaconda। यहां तक ​​कि अगर इसका मतलब है कि मेरे पैकेज अत्यंत अद्यतित नहीं हैं (वितरण अभी भी अक्सर अद्यतन हो जाता है: docs.anaconda.com/anaconda/release-notes ) मैं एक स्थिर प्रणाली रखना पसंद करता हूं
मैटस्चमैट

4
@MattSmmatt सुनिश्चित करें कि आप भी करते हैं conda update conda। कॉनडा पिछले एक साल में काफी हद तक विकसित हुआ है, और विशेष रूप से सितंबर 2017 के अंत में हमारी रिलीज हुई थी जिसमें काफी सुधार किए गए थे। यदि conda update --allचीजें टूट जाती हैं (जो, ऐतिहासिक रूप से, ऐसा करना लगभग निश्चित था) तो यह एक बग है जिसे आपको कोंडा गिटहब के मुद्दे पर नजर रखना चाहिए - आज उस ऑपरेशन को किसी भी मौजूदा घटक को नहीं तोड़ना चाहिए (प्रोविसो कोंडा के साथ उठना चाहिए) तारीख)।
IANSR

7
काम करने के लिए मुझे conda update -n root condaऊपर बताए गए कार्यों के बजाय करना था ।
लुकास

9
conda update --allक्या लोगों के 95% चाहते हैं नहीं है। यह अस्थिर वातावरण को जन्म दे सकता है। User3056882 द्वारा उत्तर सुरक्षित है।
गागरिन

3
conda update --allमेरे लिए 'अनुमति अस्वीकृत' त्रुटि के साथ विफल रहा। इसे व्यवस्थापक विशेषाधिकार के साथ सफलतापूर्वक चलाएं। व्यवस्थापक विशेषाधिकार के साथ चलाने के लिए: प्रारंभ> एनाकोंडा 3> एनाकोंडा प्रॉम्प्ट> राइट-क्लिक> अधिक> प्रशासक के रूप में चलाएं।
बाबरबैग

100

यदि आप अपने एनाकोंडा संस्करण को नए सिरे से अपडेट करने की कोशिश कर रहे हैं, तो आप देखेंगे कि नया इंस्टॉलर चलाना काम नहीं करेगा, क्योंकि यह शिकायत करता है कि इंस्टॉलेशन डायरेक्टरी नॉन-खाली है।

इसलिए आपको आधिकारिक डॉक्स द्वारा विस्तृत करने के लिए कोंडा का उपयोग करना चाहिए :

conda update conda
conda update anaconda


विंडोज में, यदि आपने "सभी उपयोगकर्ताओं के लिए" इंस्टॉलेशन बनाया है, तो प्रशासक विशेषाधिकारों के साथ एनाकोंडा प्रॉम्प्ट से चलना आवश्यक हो सकता है।

बस स्टार्ट मेन्यू में एनाकोंडा प्रॉम्प्ट पर राइट क्लिक करें

यह त्रुटि को रोकता है:

त्रुटि conda.core.link._execute(502): पैकेज 'डिफॉल्ट्स :: कॉन्डा-4.5.4-py36_0' की स्थापना रद्द करते समय एक त्रुटि हुई। अनुमति (13, 'प्रवेश निषेध है')


46

"कमांड या कॉन्डा प्रॉम्प्ट" खोलें और चलाएं:

conda update conda
conda update anaconda

यह सुनिश्चित करना एक अच्छा विचार है कि दोनों कमांड (एक के बाद एक) को चलाने के लिए सुनिश्चित करें कि सभी बुनियादी फाइलें अपडेट हैं।

यह आपको नवीनतम 'रिलीज' पर वापस लाना चाहिए, जिसमें ऐसे पैकेज होते हैं जो कॉन्टिनम में लोगों द्वारा एक साथ काम करने के लिए चुने जाते हैं।

यदि आप प्रत्येक पैकेज रन का अंतिम संस्करण चाहते हैं (यह अस्थिर वातावरण पैदा कर सकता है ):

conda update --all 

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

सूत्रों का कहना है:


10
यदि आप प्रत्येक पैकेज के नवीनतम संस्करण को रखने के लिए एक स्थिर वातावरण पसंद करते हैं, तो चरण 4 conda update anacondaको छोड़ दें। आपको 'रिलीज़' में से एक पर वापस रखना चाहिए, जिसमें ऐसे पैकेज होते हैं जिन्हें कॉन्टिनम में लोगों द्वारा एक साथ काम करने के लिए चुना जाता है।
रुडोल्फबाइकर

शुक्रिया रुडोल्फबाइकर। मैंने आपकी टिप्पणी को प्रतिबिंबित करने के लिए उत्तर संपादित किया है।
एच। पतते

यदि आपको पैकेज मिलता है तो स्थापित त्रुटि का प्रयास न करें conda install anaconda
शीतल शाह

मैं कोंडा अपडेट करता हूं और फिर मेरे सभी पैकेजों ने काम करना बंद कर दिया है .... मुझे नहीं पता कि लेकिन ऐसा क्यों लगता है कि आपका समाधान एक अच्छा विचार नहीं है क्यूज़ कोंडा अपग्रेड करने के लिए इस तरह से स्थिर नहीं है .... यहाँ रोलिंग
ट्रैविस

6

यदि आपको 3.3.x से 4.x पर उदा पाने में परेशानी होती है (जैसे कि कॉन्डा अपडेट कोंडा "अगले संस्करण में आने के लिए" काम नहीं करता है) तो इसे और अधिक विशिष्ट बनाने की कोशिश करें जैसे:

conda install conda=4.0 (or conda install anaconda=4.0)

https://www.anaconda.com/blog/developer-blog/anaconda-4-release/

आपको पता होना चाहिए कि आप क्या करते हैं, क्योंकि मजबूर स्थापना के कारण कोंडा टूट सकता है। यदि आप अधिक लचीलापन / सुरक्षा प्राप्त करना चाहते हैं तो आप nix (-pkgs) [nix-shell] / NixOS जैसे pkg-manager का उपयोग कर सकते हैं।


शायद, लेकिन क्या आप एक कीचड़ के रूप में पूरी तरह से टूटी हुई नहीं समझेंगे?
स्माइली

संस्करण "निरंतरता" एक मानक है जैसे (वेब) विकास में। हमेशा की तरह, यदि आप को हर तरह से बदल देना है और फिर से मूल्यांकन करना है तो आपको अपडेट किए गए संस्करणों के साथ पुनर्निर्माण करना चाहिए। सामान्य तौर पर अपडेट के साथ "conda update --all" ../conda/../pinned फ़ाइल को ठीक से काम करना चाहिए (अतिरिक्त पाइप प्रतिष्ठानों की देखभाल!)।
inLaw

2
जब हमें मैन्युअल रूप से अपडेट करने वाले को बताना होगा कि किस विशिष्ट संस्करण को अपडेट करना है, तो यह अब अपडेटर नहीं है, बस एक सुंदर जीयूआई वाला टूटा हुआ इंस्टॉलर। आम तौर पर conda update --allसब कुछ टूट जाता है, जैसा कि उनके स्वयं के अकसर किये गए सवाल, और मेरे उदाहरण में, यह मेरे अजगर को
३.३.० से ३.६.६

इंस्टॉलर के बारे में आपकी राय यही है लेकिन यह आईटी में एक स्टैंडर्ड है (इसके पीछे किसी कारण से)। फिर, यह विशेष रूप से आपकी पिन की गई फ़ाइल पर निर्भर करता है और यदि आपने PIP के माध्यम से Pkgs स्थापित किया है! आपके मामले के बारे में: यदि आपके पास ऐसे pkgs हैं जो उपलब्ध नहीं हैं या python 3.7.x के साथ संगत नहीं है, तो इसे Python संस्करण मिलेगा, जो आपके env में सभी pkgs के प्रतिबंधों को इष्टतम रूप से फिट कर सकता है। यही कारण है कि "कोंडा" है।
इल

कॉन्डा का उपयोग करने के लिए आपका क्या कारण है (यदि अखंडता-जांच / डाउनग्रेड के लिए आप शिकायत नहीं कर रहे हैं)?
InLaw

6

यह वही है जो आधिकारिक एनाकोंडा प्रलेखन की सिफारिश करता है:

conda update conda 
conda update anaconda=2020.02

यदि दूसरी पंक्ति में कोई त्रुटि है (डॉक्स में टाइपो?) तो यह यहाँ काम करता है:

conda install anaconda=2020.02

(आप यहां सभी संस्करण निर्दिष्ट कर सकते हैं )

कमांड एनाकोंडा मेटा-पैकेज की एक विशिष्ट रिलीज के लिए अद्यतन करेगा।

यह वही है जो एनाकोंडा के 95% उपयोगकर्ता चाहते हैं। बस एनाकोंडा मेटा-पैकेज के नवीनतम संस्करण में अपग्रेड करना (एनाकोंडा डिस्ट्रीब्यूटर्स द्वारा एक साथ रखा और परीक्षण किया गया) और व्यक्तिगत पैकेजों की अद्यतन स्थिति के बारे में परवाह नहीं (जो कि जारी किया जाएगा conda update --all)।


@Arrow_Raider conda update ...टाइपो से संबंधित है ? माना।
मैटस्कैम

5

यहाँ सबसे अच्छा अभ्यास है (मेरे विनम्र अनुभव में)। इन चार पैकेजों का चयन करने से अन्य सभी निर्भरताएं भी उपयुक्त संस्करणों में अपडेट हो जाएंगी जो आपके पर्यावरण को लगातार बनाए रखने में आपकी मदद करेंगे। उत्तरार्द्ध एक आम समस्या है जो अन्य लोगों ने पहले की प्रतिक्रियाओं में व्यक्त की है। इस समाधान को टर्मिनल की आवश्यकता नहीं है।

एनाकोंडा 3 या एनाकोंडा 2 सर्वश्रेष्ठ अभ्यास का अद्यतन और उन्नयन


धन्यवाद, मेरी मदद की!
इलन एज़ेलमैन WS

3

बेस मोड में एनाकोंडा सेमी खोलें:

फिर एनाकोंडा को अपडेट करने के लिए कॉन्डा अपडेट कोंडा का उपयोग करें

फिर आप एनाकोंडा के लिए सभी आवश्यकताओं को अपडेट करने के लिए conda update --all का उपयोग कर सकते हैं

conda update conda  
conda update --all  

2

मैक ओपन टर्मिनल पर और 2 कमांड का पालन करें।

conda update conda
conda update anaconda

वर्तमान संस्करण को अपडेट करने के लिए प्रत्येक कमांड को कई बार चलाना सुनिश्चित करें।


7
कई बार? doest ऐसा करने के लिए समझ में आता है।
दीपक

2
मेरे अनुभव में, यदि आप बस एक बार कमांड चलाते हैं तो यह अजगर संकुल के नवीनतम संस्करणों में अद्यतन नहीं होता है। इसलिए मैं इसे कई बार चलाने का सुझाव देता हूं।
अजय संत

यह उसी पृष्ठ पर यहां एक अन्य उत्तर का डुप्लिकेट है: stackoverflow.com/a/46842054/109618
डेविड जे।

2

मैं विंडोज़ 10 का उपयोग कर रहा हूं। निम्नलिखित सब कुछ अपडेट करता है और कुछ नए पैकेज भी स्थापित करता है, जिसमें एक अजगर अपडेट भी शामिल है (मेरे लिए यह 3.7.3 था)।

शेल में, निम्नलिखित को आज़माएँ (यह सुनिश्चित करें कि आपका एनाकोंडा 3 डेटा कहाँ स्थापित है)। हर चीज को अपडेट करने में थोड़ा समय लगता है।

conda update --prefix X:\XXXXData\Anaconda3 anaconda

1

अपने इंस्टॉल किए गए संस्करण को नवीनतम संस्करण में अपडेट करने के लिए, 2019.07 कहें, चलाएं

conda install anaconda=2019.07

ज्यादातर मामलों में, यह विधि आपकी आवश्यकताओं को पूरा कर सकती है और निर्भरता की समस्याओं से बच सकती है


0
conda create -n py37 -c anaconda anaconda=5.3.1
conda env export -n py37 --file env.yaml

Env.yaml को C: \ Windows \ System32 में ढूँढें और cmd को व्यवस्थापक के रूप में चलाएं

conda env update -n root -f env.yaml  

तो यह काम करता है!


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