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?
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?
Respostas:
O Anaconda não atualizou python internamente para 3.6.
a) Método 1
conda update python
conda update anaconda
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
conda update python
. Veja aqui: conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
conda update python
apenas me levou de 3.6.5 para 3.7.0. Arrumado!
conda install python=$pythonversion$
com um único sinal de igual.
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
conda create --name 3point6 python=3
(adicionando =3
no final) cria uma versão python3.
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 remove
alguns pacotes que não estão na lista oficial:
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.
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 conda
para criar ambientes, isso pode ser destrutivo, pois conda
cria 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
Estou usando um Mac OS Mojave
Estes 4 passos funcionaram para mim.
conda update conda
conda install python=3.6
conda install anaconda-client
conda update anaconda
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 ...