मैं कोंडा के साथ पायथन 3.6 में कैसे अपग्रेड करूं?


171

मैं कॉनडा पैकेज प्रबंधन के लिए नया हूं और मैं अपने कोड में f-strings का उपयोग करने के लिए पायथन का नवीनतम संस्करण प्राप्त करना चाहता हूं। वर्तमान में मेरा संस्करण है ( python -V):

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

मैं पायथन 3.6 में कैसे अपग्रेड करूंगा?


दूसरा जवाब है, मुझे लगता है कि बेहतर जवाब, खासकर उन लोगों के लिए जिनके पास "मास्टर" / "डिफ़ॉल्ट" वातावरण है जिसमें नवीनतम और सबसे बड़ा लगातार अपडेट किया जाता है।
ericmjl

जवाबों:


248

एनाकोंडा ने अजगर को आंतरिक रूप से 3.6 में अपडेट नहीं किया है।

ए) विधि 1

  1. यदि आप अपडेट करना चाहते हैं तो आप टाइप करेंगे conda update python
  2. एनाकोंडा प्रकार अपडेट करने के लिए conda update anaconda
  3. यदि आप 3.5 से 3.6 जैसे प्रमुख अजगर संस्करण के बीच उन्नयन करना चाहते हैं, तो आपको करना होगा

    conda install python=$pythonversion$

b) विधि 2 - एक नया वातावरण बनाएं (बेहतर विधि)

conda create --name py36 python=3.6

ग) निरपेक्ष नवीनतम अजगर पाने के लिए (लेखन के समय 3.6.5)

conda create --name py365 python=3.6.5 --channel conda-forge

यह सब आप यहाँ से देख सकते हैं

इसके अलावा, बल उन्नयन के लिए इसे देखें

EDIT: एनाकोंडा का अब यहां पायथन 3.6 संस्करण है


18
जब तक कॉन्टिनम परिवर्तित नहीं होता है कि कैसे कंडा संचालित होता है, आप प्रमुख पायथन संस्करणों को अपग्रेड नहीं कर सकते हैं conda update python। यहाँ देखें: conda.pydata.org/docs/py2or3.html#update-or-upgrad-python
darthbith

14
conda install python = $ pythonversion $ उदा। conda install python = 3.6
टिम रिचर्डसन

11
conda update pythonबस मुझे 3.6.5 से 3.7.0 तक ले गया। साफ!
फ्रेड्रिक

उत्तर में एक टाइपो है, विधि 1.3। यह conda install python=$pythonversion$एक समान चिन्ह के साथ होना चाहिए ।
eze1981

FYI पद्धति a) अजगर के विभिन्न संस्करणों के बीच में बदलने के लिए काम करता है, जब तक कि यह वेनव के भीतर किसी भी निर्भरता को नहीं तोड़ता है
Spcogg दूसरा

41

नया वातावरण बनाने से अजगर 3.6 स्थापित करेगा:

$ conda create --name 3point6 python=3.6
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /Users/dstansby/miniconda3/envs/3point6:

The following NEW packages will be INSTALLED:

    openssl:    1.0.2j-0     
    pip:        9.0.1-py36_1 
    python:     3.6.0-0      
    readline:   6.2-2        
    setuptools: 27.2.0-py36_0
    sqlite:     3.13.0-0     
    tk:         8.5.18-0     
    wheel:      0.29.0-py36_0
    xz:         5.2.2-1      
    zlib:       1.2.8-3 

2
अगर आपका कोंडा इंस्टॉलेशन Python 2.7 के लिए है तो conda create 2.7 वर्जन बनाएगा। कमांड को बदलना conda create --name 3point6 python=3( =3अंत में जोड़ना ) एक पायथन 3 संस्करण बनाता है।
योना ग्राहम

1
यह वास्तव में होगा। मैंने पायथन 3.6 को निर्दिष्ट करने के लिए अपना उत्तर बदल दिया है!
डेविड स्टांस्बी

25

एनाकोंडा को पायथन (एनाकोंडा 4.0+ से) के एक नए संस्करण में अपग्रेड करने के विस्तृत निर्देशों के साथ मुझे यह पृष्ठ मिला । प्रथम,

conda update conda
conda remove argcomplete conda-manager

मुझे conda removeकुछ पैकेज भी आधिकारिक सूची में नहीं थे:

  • backports_abc
  • सुंदर-सूप
  • आग कोर

आपके सिस्टम पर स्थापित पैकेजों के आधार पर, आपको अतिरिक्त UnsatisfiableErrorत्रुटियां हो सकती हैं - बस उन पैकेजों को हटाए गए सूची में जोड़ें। अगला, पायथन के संस्करण को स्थापित करें,

conda install python==3.6

जो कुछ समय लेता है, जिसके बाद एक संदेश इंगित करता है conda install anaconda-client, इसलिए मैंने किया

conda install anaconda-client

जो कहा कि यह पहले से ही वहां है। अंत में, निर्देशों का पालन करते हुए,

conda update anaconda

मैंने विंडोज 10 कमांड प्रॉम्प्ट में ऐसा किया था, लेकिन मैक ओएस एक्स में चीजें समान होनी चाहिए।


18

अतीत में, मुझे इन-प्लेस को अपग्रेड करने का प्रयास करना काफी कठिन लगा।

नोट: एनाकोंडा के लिए मेरा उपयोग-केस एक सभी पायथन पर्यावरण के रूप में है। मैं अलग-अलग आभासी वातावरण से परेशान नहीं हूं। यदि आप condaवातावरण बनाने के लिए उपयोग कर रहे हैं, तो यह विनाशकारी हो सकता है क्योंकि condaआपकी Anaconda/envsनिर्देशिका के अंदर हार्ड-लिंक के साथ वातावरण बनाता है ।

इसलिए यदि आप पर्यावरण का उपयोग करते हैं, तो आप पहले अपने वातावरण को निर्यात करना चाहते हैं । अपने पर्यावरण को सक्रिय करने के बाद, कुछ ऐसा करें:

conda env export > environment.yml

अपने वातावरण का बैकअप लेने के बाद (यदि आवश्यक हो), आप अपने पुराने एनाकोंडा को हटा सकते हैं (एनाकोंडा को अनइंस्टॉल करना बहुत आसान है):

$ rm -rf ~/anaconda3/

और इसे नया एनाकोंडा, जैसे लिनक्स, 64 बिट डाउनलोड करके बदलें:

$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh 

( अधिक हाल के लिए यहां देखें ),

और फिर उसे अंजाम देना:

$ bash Anaconda3-4.3.0-Linux-x86_64.sh 


0

सबसे अच्छी विधि मुझे मिली:

source activate old_env
conda env export > old_env.yml

फिर इसे कुछ इस तरह से प्रोसेस करें:

with open('old_env.yml', 'r') as fin, open('new_env.yml', 'w') as fout:
    for line in fin:
        if 'py35' in line:  # replace by the version you want to supersede
            line = line[:line.rfind('=')] + '\n'
        fout.write(line)

फिर अपने नए पर्यावरण नाम को दिखाने और चलाने के लिए मैन्युअल रूप से पहली ( name: ...) और अंतिम पंक्ति ( prefix: ...) को संपादित करें :

conda env create -f new_env.yml

आपको कुछ पैकेजों के संस्करण पिन को मैन्युअल रूप से हटाने या बदलने की आवश्यकता हो सकती है, जिसके लिए पिन किया गया संस्करण old_envनए अजगर संस्करण के लिए असंगत या गायब पाया गया है।

काश कोई अंतर्निहित, आसान तरीका होता ...

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