Подтвердить что ты не робот

Как мне перейти на Python 3.6 с помощью conda?

Я новичок в управлении пакетами Conda, и хочу, чтобы последняя версия Python использовала f-строки в моем коде. В настоящее время моя версия (python -V):

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

Как мне перейти на Python 3.6?

4b9b3361

Ответ 1

Анаконда не обновила Python внутри до 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

Вы можете увидеть все это здесь

Кроме того, обратитесь к этому для принудительного обновления

РЕДАКТИРОВАТЬ: Anaconda теперь имеет версию Python 3.6 здесь

Ответ 2

Создание новой среды установит 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 

Ответ 3

Я нашел эту страницу с подробными инструкциями по обновлению 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 все должно быть похоже.

Ответ 4

В прошлом мне было довольно сложно пытаться обновить на месте.

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

Поэтому, если вы используете среды, вы можете сначала экспортировать свои среды. После активации вашей среды, сделайте что-то вроде:

conda env export > environment.yml

После создания резервных копий ваших сред при необходимости вы можете удалить старую Anaconda (удалить Anaconda очень просто):

$ rm -rf ~/anaconda3/

и замените его, загрузив новую Anaconda, например, Linux, 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 

Ответ 5

Я использую Mac OS Mojave

Эти 4 шага работали на меня.

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

Ответ 6

Лучший метод, который я нашел:

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.

Хотелось бы, чтобы был встроенный, более простой способ...