मैं एक कोंडा पर्यावरण का नाम कैसे बदल सकता हूं?


जवाबों:


457

आप नहीं कर सकते।

क्लोन वातावरण बनाने के लिए एक वर्कअराउंड है , और फिर मूल एक को हटा दें :

( deactivateWindows और source deactivatemacOS / Linux पर वर्तमान परिवेश को निष्क्रिय करने के बारे में याद रखें )

conda create --name new_name --clone old_name
conda remove --name old_name --all # or its alias: `conda env remove --name old_name`

इस पद्धति की कई कमियां हैं:

  1. यह पैकेज को फिर से डाउनलोड करता है - आप --offlineइसे अक्षम करने के लिए ध्वज का उपयोग कर सकते हैं ,
  2. पर्यावरण की फ़ाइलों की प्रतिलिपि बनाने में लगने वाला समय,
  3. अस्थायी डबल डिस्क उपयोग।

इस सुविधा का अनुरोध करने वाला एक खुला मुद्दा है


90
booooo क्यों कोई conda env का नाम नहीं बदल सकता है?
चार्ली पार्कर

6
इसलिए उन लोगों के लिए कुछ काम छोड़ दें जिन्होंने कोंडा को फोर्क किया और इस तरह उन्हें और अधिक मार्ग समझा: पी: डी
सर्वनाबलगी रामचंद्रन

3
एक और तरीका है पर्यावरण को क्लोन करना conda create --name new_name --clone old_nameफिर आप पुराने को हटा सकते हैं।
Y0da

4
चेतावनी का शब्द - मैंने ऐसा करने की कोशिश की, और विचित्र त्रुटियों में भाग गया - मेरे .bashrcअब काम नहीं किया, और चलाने की pytestकोशिश विफल हो जाएगी, अब हटाए गए वातावरण का संदर्भ देने की कोशिश कर रहा है। मैंने नए गोले आज़माए और बिना किसी भाग्य के पुनः आरंभ किया। अंत में नए वातावरण को उड़ाने के लिए समाप्त हो गया, फिर बस एक साफ इंस्टॉल के साथ शुरू करें। धीमा, लेकिन वास्तव में अब काम करने लगता है।
dwanderson

3
@dwersonerson +5000 के रूप में मैं इस उत्तर का उपयोग करने की कोशिश करने जा रहा था, लेकिन इसके बजाय मैं अभी बंद को खींच रहा हूं और खरोंच से मेरे बुरी तरह से नामांकित को फिर से बना रहा हूं।
bgoodr

13

Dwanderson की सहायक टिप्पणी के आधार पर , मैं बैश वन-लाइनर में यह करने में सक्षम था:

conda create --name envpython2 --file <(conda list -n env1 -e )

मेरा बुरी तरह से नाम दिया गया "env1" था और जिस नए से मैं इसका क्लोन बनाना चाहता हूं वह "envpython2" है।


1
PackagesNotFoundError: The following packages are not available from current channelsइस स्क्रिप्ट के साथ एक त्रुटि में भाग गया । यह स्क्रिप्ट शायद तभी काम करती है जब आपके पास ऐसे पैकेज नहीं होते जो पाइप के साथ स्थापित होते हैं और जो मौजूदा वातावरण में कोंडा में उपलब्ध नहीं हैं?
युकुआन चेन

4

conda create --name new_name --copy --clone old_name बेहतर है

मैं उपयोग conda create --name new_name --clone old_nameकरता हूं जो कि बिना --copy पाइप के टूटे हुए है ...

निम्नलिखित url मदद कर सकता है क्लोन किए गए कोंडा पर्यावरण में टेंसरफ्लो को स्थापित करने से कॉन्डा पर्यावरण टूट जाता है जिससे इसे क्लोन किया गया था


-41

बस "\ Anaconda \ envs" फ़ोल्डर खोलें और उसका नाम बदलें।

नाम बदलने से पहले नाम बदलने से पहले

नाम बदलने के बाद नाम बदलने के बाद


13
यह जवाब जुपिटर को तोड़ देता है। अजगर कर्नेल को लॉन्च करने की कोशिश करते समय जुपिटर "पथ नहीं मिला" रिपोर्ट करता है।
MD004

5
पर्यावरण को तोड़ने का एक बड़ा जोखिम है
FabienP

2
यह मत करो।
बेनप

एक कारण यह एक बुरा विचार है - env ​​/ name directory के अंदर फाइलें होती हैं जिनमें उस डायरेक्टरी का पूर्ण पथ होता है। यदि आप निर्देशिका को स्थानांतरित करते हैं, तो पथ अब काम नहीं करेगा क्योंकि यह पुरानी निर्देशिका को इंगित करता है जो अब मौजूद नहीं है: envs / ds_tensorflow / Lib / साइट-संकुल / sipconfig.py: 'default_bin_dir: "C: / Users / me / miniconda3 / envs / ds_tensorflow ', envs / ds_tensorflow / लिब / साइट-संकुल / sipconfig.py:' default_mod_dir ':' सी: / उपयोगकर्ताओं / मुझे / miniconda3 / envs / ds_tensorflow \\ लिब \\ साइट-संकुल ',
डोनाल्ड एस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.