Je suis nouveau dans la gestion de paquets Conda et je souhaite obtenir la dernière version de Python pour utiliser des chaînes de caractères dans mon code. Ma version actuelle est (python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Comment pourrais-je passer à Python 3.6?
Anaconda n'a pas mis à jour python en interne vers 3.6.
a) Méthode 1
conda update python
conda update anaconda
Si vous souhaitez mettre à niveau entre les versions majeures python telles que la version 3.5 vers la version 3.6, vous devrez procéder à la mise à niveau.
conda install python==$pythonversion$
b) Méthode 2 - Créer un nouvel environnement (Meilleure méthode)
conda create --name py36 python=3.6
c) Obtenir le dernier python absolu (3.6.5 au moment de la rédaction)
conda create --name py365 python=3.6.5 --channel conda-forge
Vous pouvez voir tout cela de ici
Voir aussi ceci pour force pgrade
EDIT: Anaconda a maintenant une version Python 3.6 ici
Créer un nouvel environnement va installer 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
J'ai trouvé cette page avec des instructions détaillées pour mettre à niveau Anaconda vers une version majeure plus récente de Python (à partir d'Anaconda 4.0+). Première,
conda update conda
conda remove argcomplete conda-manager
Je devais aussi conda remove
quelques paquets ne figurant pas sur la liste officielle:
Selon les packages installés sur votre système, vous pouvez obtenir des erreurs supplémentaires UnsatisfiableError
- ajoutez-les simplement à la liste de suppression. Ensuite, installez la version de Python,
conda install python==3.6
qui prend un certain temps, après quoi un message indique à conda install anaconda-client
, alors je
conda install anaconda-client
qui a dit qu'il est déjà là. Enfin, en suivant les instructions,
conda update anaconda
Je l'ai fait dans l'invite de commande Windows 10, mais les choses devraient être similaires dans Mac OS X.
Dans le passé, j'ai trouvé assez difficile d'essayer de mettre à niveau sur place.
Remarque: mon cas d'utilisation pour Anaconda est un environnement Python tout-en-un. Je ne m'embête pas avec des environnements virtuels distincts. Si vous utilisez conda
pour créer des environnements, cela peut s'avérer destructif, car conda
crée des environnements avec des liens fixes dans votre répertoire Anaconda/envs
.
Donc, si vous utilisez des environnements, vous voudrez peut-être d'abord exporter vos environnements . Après avoir activé votre environnement, faites quelque chose comme:
conda env export > environment.yml
Après avoir sauvegardé vos environnements, si nécessaire, vous pouvez supprimer votre ancien Anaconda (très simple pour désinstaller Anaconda):
$ rm -rf ~/anaconda3/
et remplacez-le en téléchargeant le nouvel Anaconda, par exemple. Linux, 64 bits:
$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
( voir ici pour une version plus récente ),
puis en l'exécutant:
$ bash Anaconda3-4.3.0-Linux-x86_64.sh
J'utilise un Mac OS Mojave
Ces 4 étapes ont fonctionné pour moi.
conda update conda
conda install python==3.6
conda install anaconda-client
conda update anaconda
Meilleure méthode j'ai trouvé:
source activate old_env
conda env export > old_env.yml
Puis traitez-le avec quelque chose comme ceci:
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)
puis éditez manuellement la première ligne (name: ...
) et la dernière ligne (prefix: ...
) pour refléter le nouveau nom de votre environnement et exécutez:
conda env create -f new_env.yml
vous devrez peut-être supprimer ou modifier manuellement l'épingle de version de quelques paquetages pour lesquels la version épinglée de old_env
est jugée incompatible ou manquante pour la nouvelle version python.
Je souhaite qu'il y ait un moyen intégré, plus facile ...