Як оновити до Python 3.6 за допомогою conda?


172

Я новачок в управлінні пакетом Conda і хочу отримати останню версію Python для використання f-рядків у своєму коді. Наразі моя версія ( python -V):

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

Як би я перейшов до Python 3.6?


Друга відповідь - я думаю, краща відповідь, особливо для тих, хто має середовище "майстер" / "за замовчуванням", в якому останні та найбільші постійно оновлюються.
ericmjl

Відповіді:


249

Anaconda не оновив пітон внутрішньо до 3.6.

а) Метод 1

  1. Якщо ви хочете оновити, ви наберете conda update python
  2. Для оновлення типу анаконда conda update anaconda
  3. Якщо ви хочете оновити між основними версіями python, як-от 3,5 до 3,6, вам доведеться це зробити

    conda install python=$pythonversion$

б) Спосіб 2 - Створення нового середовища (Кращий метод)

conda create --name py36 python=3.6

в) Отримати абсолютний останній пітон (3.6.5 під час написання)

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

Ви можете побачити все це звідси

Також зверніться до цього, щоб оновити силу

EDIT: Anaconda тепер має Python 3.6 версію тут


18
Якщо Континуум не змінить, як працює conda, ви не можете оновити основні версії Python до conda update python. Дивіться тут: conda.pydata.org/docs/py2or3.html#update-or-upgrade-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 а) працює і на зміну між різними версіями python, до тих пір, поки він не порушує ніяких залежностей всередині venv
Spcogg другий

41

Створення нового середовища встановить python 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в кінці) робить версію python3.
Jonah Graham

1
Це дійсно буде. Я змінив свою відповідь, щоб вказати python 3.6!
Девід Стансбі

26

Я знайшов цю сторінку з докладними інструкціями щодо оновлення Anaconda до основної нової версії Python (від Anaconda 4.0+). Перший,

conda update conda
conda remove argcomplete conda-manager

Я також повинен був отримати conda removeдеякі пакети, які не є в офіційному списку:

  • backports_abc
  • красивий-суп
  • пластовий

Залежно від пакунків, встановлених у вашій системі, ви можете отримати додаткові UnsatisfiableErrorпомилки - просто додайте їх до списку видалення. Далі встановіть версію Python,

conda install python==3.6

який займає деякий час, після чого повідомлення вказується на те conda install anaconda-client, що я і зробив

conda install anaconda-client

який сказав, що вже є. Нарешті, дотримуючись вказівок,

conda update anaconda

Я робив це в командному рядку Windows 10, але в Mac OS X все має бути подібним.


18

У минулому мені було досить важко намагатися оновити на місці.

Примітка: мій приклад використання для Anaconda - це всебічне середовище Python. Я не переймаюся окремими віртуальними середовищами. Якщо ви використовуєте condaдля створення середовищ, це може бути руйнівним, оскільки condaстворює середовища з жорсткими посиланнями всередині вашого Anaconda/envsкаталогу.

Отже, якщо ви використовуєте середовища, ви можете спочатку експортувати свої середовища . Після активації оточення зробіть щось на кшталт:

conda env export > environment.yml

Після створення резервної копії вашого середовища (якщо потрібно) ви можете видалити стару Anaconda (видалити Anaconda дуже просто):

$ rm -rf ~/anaconda3/

і замініть його, завантаживши нову анаконда, наприклад, 64-бітний Linux:

$ 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 

11

Я використовую Mac OS Mojave

Ці 4 кроки працювали для мене.

  1. conda update conda
  2. conda install python=3.6
  3. conda install anaconda-client
  4. conda update anaconda

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виявляється несумісною або відсутня для нової версії python.

Я б хотів, щоб був вбудований простіший спосіб ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.