Como atualizo para o Python 3.6 com conda?


171

Eu sou novo no gerenciamento de pacotes Conda e quero que a versão mais recente do Python use f-strings no meu código. Atualmente minha versão é ( python -V):

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

Como eu atualizaria para o Python 3.6?


A segunda resposta é, eu acho, a melhor resposta, especialmente para aqueles que têm um ambiente "mestre" / "padrão" no qual as melhores e as mais recentes são atualizadas continuamente.
21417 ericmjl

Respostas:


248

O Anaconda não atualizou python internamente para 3.6.

a) Método 1

  1. Se você quiser atualizar, digitará conda update python
  2. Para atualizar o tipo anaconda conda update anaconda
  3. Se você deseja atualizar entre as principais versões do python, como 3.5 a 3.6, precisará fazer

    conda install python=$pythonversion$

b) Método 2 - Criar um novo ambiente (Better Method)

conda create --name py36 python=3.6

c) Para obter o python mais recente absoluto (3.6.5 no momento da redação)

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

Você pode ver tudo isso daqui

Consulte também isso para atualização forçada

EDIT: Anaconda agora tem uma versão Python 3.6 aqui


18
A menos que o Continuum tenha alterado o funcionamento do conda, você não poderá atualizar as principais versões do Python conda update python. Veja aqui: conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
darthbith

14
Conda instalar python = $ pythonversion $ eg Conda instalar python = 3,6
Tim Richardson

11
conda update pythonapenas me levou de 3.6.5 para 3.7.0. Arrumado!
Fredrik

Há um erro de digitação na resposta, método 1.3. Deve ser conda install python=$pythonversion$com um único sinal de igual.
eze1981

Método FYI a) trabalha para alterar também entre versões diferentes do python, desde que não quebre nenhuma dependência no venv
Spcogg the second

41

Criar um novo ambiente instalará o 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
Se sua instalação do conda for para o Python 2.7, o conda create criará uma versão 2.7. alterar o comando para conda create --name 3point6 python=3(adicionando =3no final) cria uma versão python3.
Jonah Graham #

1
Será mesmo. Alterei minha resposta para especificar python 3.6!
David Stansby

25

Encontrei esta página com instruções detalhadas para atualizar o Anaconda para uma das principais versões mais recentes do Python (do Anaconda 4.0+). Primeiro,

conda update conda
conda remove argcomplete conda-manager

Eu também tive conda removealguns pacotes que não estão na lista oficial:

  • backports_abc
  • sopa bonita
  • blaze-core

Dependendo dos pacotes instalados no seu sistema, você pode obter mais UnsatisfiableError erros - basta adicionar esses pacotes à lista de remoção. Em seguida, instale a versão do Python,

conda install python==3.6

demora um pouco, após o que uma mensagem indica conda install anaconda-client , então eu fiz

conda install anaconda-client

que disse que já está lá. Por fim, seguindo as instruções,

conda update anaconda

Fiz isso no prompt de comando do Windows 10, mas as coisas devem ser semelhantes no Mac OS X.


18

No passado, achei bastante difícil tentar atualizar no local.

Nota: meu caso de uso para o Anaconda é como um ambiente Python all-in-one. Eu não me incomodo com ambientes virtuais separados. Se você estiver usando condapara criar ambientes, isso pode ser destrutivo, pois condacria ambientes com links físicos dentro do seuAnaconda/envs diretório.

Portanto, se você usa ambientes, primeiro pode exportar seus ambientes . Depois de ativar seu ambiente, faça algo como:

conda env export > environment.yml

Após fazer o backup de seus ambientes (se necessário), você pode remover o Anaconda antigo (é muito simples desinstalar o Anaconda):

$ rm -rf ~/anaconda3/

e substitua-o baixando o novo Anaconda, por exemplo, Linux, 64 bits:

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

( veja aqui para uma mais recente ),

e então executando:

$ bash Anaconda3-4.3.0-Linux-x86_64.sh 

11

Estou usando um Mac OS Mojave

Estes 4 passos funcionaram para mim.

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

0

Melhor método que encontrei:

source activate old_env
conda env export > old_env.yml

Em seguida, processe-o com algo como isto:

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)

edite manualmente a primeira ( name: ...) e a última linha ( prefix: ...) para refletir seu novo nome de ambiente e execute:

conda env create -f new_env.yml

pode ser necessário remover ou alterar manualmente o pino da versão de alguns pacotes para os quais a versão fixada old_envé incompatível ou ausente na nova versão do python.

Eu gostaria que houvesse uma maneira embutida e mais fácil ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.