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



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



Python 3.5.2 :: Anaconda 4.2.0 (x86_64)


Как бы я обновился до Python 3.6?

891   5  

5 ответов:

Anaconda не обновила python внутренне до 3.6.

а) метод 1

  1. если вы хотите обновить вы наберете conda update python
  2. для обновления типа анаконда conda update anaconda
  3. если вы хотите обновить между основной версией python, как 3.5 до 3.6, вам придется сделать

    conda install python==$pythonversion$`
    

B) Метод 2-создать новую среду (лучший метод)

conda create --name py36 python=3.6

c) чтобы получить абсолютную последнюю версию python (3.6.5 на момент написания статьи)

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

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

также обратитесь к этому для force обновление

EDIT: Anaconda теперь имеет версию Python 3.6 здесь

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

нашел на этой странице С подробными инструкциями по обновлению Anaconda до более новой версии Python (от Anaconda 4.0+). Во-первых,

conda update conda
conda remove argcomplete conda-manager

Я должен conda remove некоторые пакеты не в официальном списке:

  • backports_abc
  • красивый-суп
  • blaze-core

в зависимости от пакетов, установленных на вашей системе, вы можете получить дополнительные UnsatisfiableError ошибки-просто добавьте эти пакеты список удаления. Далее, установите версию Python,

conda install python==3.6

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

conda install anaconda-client

, который сказал, что он уже есть. Наконец, следуя указаниям,

conda update anaconda

Я сделал это в командной строке Windows 10, но все должно быть похоже на Mac OS X.

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

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

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

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 

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

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

возможно, Вам потребуется вручную удалить или изменить pin-код версии нескольких пакетов, для которых закреплена версия из old_env найден несовместимым или отсутствует для новой версии python.

Я хотел бы, чтобы был встроенный, более легкий путь...

Comments

    Ничего не найдено.