Python et conda#
Le module emploie conda pour installer Python et les outils des TD. Sur un
ordinateur personnel, on installe Miniforge, une distribution de conda
publiée par la communauté conda-forge. Les commandes sont les mêmes que
dans la salle : conda create, conda activate, conda install.
Choisir l’installateur#
Quatre installateurs donnent la commande conda ou un équivalent :
Anaconda |
Miniconda |
Miniforge |
micromamba |
|
|---|---|---|---|---|
Publié par |
Anaconda, Inc. |
Anaconda, Inc. |
la communauté conda-forge |
le projet mamba |
Canal par défaut |
|
|
|
aucun, à choisir |
Contenu de |
Python, des centaines de bibliothèques, Navigator, Spyder, JupyterLab |
Python et conda |
Python, conda et mamba |
pas de |
Commande |
|
|
|
|
Conditions d’utilisation |
gratuit pour les étudiants dans le cadre des cours, payant pour une organisation de 200 personnes ou plus |
les mêmes qu’Anaconda |
aucune |
aucune |
Le module conseille Miniforge. Son installation pèse quelques centaines de
Mo, contre plusieurs Go pour Anaconda. Il est gratuit pour tout le monde,
y compris après les études, en stage ou chez un employeur. Son seul canal
est conda-forge, celui que le module emploie dans la salle : il n’y a ni
fichier .condarc à écrire, ni conditions d’utilisation à accepter.
micromamba est un seul programme, sans environnement base. Sa commande
diffère de celle de la salle, et il sert surtout à préparer des
environnements sur des serveurs d’intégration continue.
Installer Miniforge#
Sous Windows#
Télécharger
Miniforge3-Windows-x86_64.exesur https://conda-forge.org/download/.Lancer l’installateur, et garder « Just Me ». Miniforge s’installe alors dans
C:\Users\<nom>\miniforge3, sans droits d’administrateur. Laisser décochée l’option qui ajoute Miniforge auPATH.Menu Démarrer, taper
miniforge, choisir « Miniforge Prompt ». Une fenêtre noire s’ouvre, et l’invite commence par(base).
Sous macOS et Linux#
Dans le Terminal :
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
Accepter la licence, garder le dossier proposé, ~/miniforge3, et
répondre yes à la dernière question, qui propose d’initialiser conda dans
le terminal. Fermer puis rouvrir le Terminal : l’invite commence par
(base). La documentation de Miniforge déconseille de l’installer par
Homebrew.
Vérifier#
Dans la Miniforge Prompt, ou dans le Terminal :
Ce qu’on tape |
Ce qu’on doit voir |
|---|---|
|
|
|
|
|
un chemin dans le dossier |
Les canaux#
Un paquet installé par conda vient d’un dépôt, que conda appelle un canal.
Le module prend tous ses paquets sur conda-forge. Les canaux et le fichier
.condarc qui les règle sont décrits dans Anaconda, section Configuration des dépôts.
Avec Miniforge, conda-forge est déjà le seul canal. Une ligne de plus fixe la priorité stricte, qui fait prendre chaque paquet dans le premier canal de la liste qui le fournit, si on ajoute un canal plus tard :
conda config --set channel_priority strict
Avec Anaconda ou Miniconda déjà installé, trois commandes font passer conda à conda-forge, dans l’invite de commandes d’Anaconda ou dans le Terminal :
conda config --add channels conda-forge
conda config --remove channels defaults
conda config --set channel_priority strict
La première met conda-forge en tête de la liste des canaux, la deuxième
retire les canaux d’Anaconda, la troisième fixe la priorité stricte.
conda config --show channels doit ensuite afficher conda-forge seul.
Les paquets déjà installés dans base ne changent pas, et les
environnements créés ensuite prennent leurs paquets sur conda-forge. conda
ne demande plus d’accepter les conditions d’utilisation des canaux
d’Anaconda.
L’environnement du module#
Sur les postes de la salle, JupyterLab, numpy, Pillow et pandoc sont dans
base. Avec Miniforge, base ne contient que Python, conda et mamba, et
on n’y installe rien. Les outils du module vont dans un environnement
info01, créé une fois :
conda create -n info01 python jupyterlab numpy pillow pandoc
conda activate info01
L’invite passe à (info01). jupyterlab installe aussi ipykernel, le
noyau des notebooks (Les notebooks). Là où un TD
emploie base, activer info01 à la place. Les TD qui ont leur propre
environnement le créent depuis leur fichier environment.yml, comme dans la
salle.
conda dans les autres terminaux#
Sous macOS et Linux, l’installateur a initialisé conda dans le Terminal, et dans celui de VS Code, qui lit les mêmes fichiers.
Sous Windows, la Miniforge Prompt est un cmd activé, comme l’invite de
commandes d’Anaconda dans la salle (Anaconda, section conda dans un terminal). Pour les autres terminaux :
Git Bash : les commandes de la salle, avec le chemin de Miniforge, puis fermer et rouvrir Git Bash (Anaconda, section Git Bash) :
source ~/miniforge3/etc/profile.d/conda.sh conda init bash
cmd: taper une foisconda init cmd.exedans la Miniforge Prompt, puis rouvrir le terminal ;PowerShell : autoriser d’abord les scripts pour le compte (A7), en tapant une fois dans un PowerShell la commande suivante, qui ne demande pas de droits d’administrateur :
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Puis taper
conda init powershelldans la Miniforge Prompt, et rouvrir le terminal.
D’autres gestionnaires d’environnements#
Le module montre conda parce qu’il est installé sur les postes de la salle, et qu’il installe aussi des programmes qui ne sont pas du Python, comme pandoc ou ffmpeg. Pour ses propres projets, hors de ces contraintes, uv et pixi décrivent l’environnement dans un fichier du projet, et le recréent à l’identique sur une autre machine. Ils sont présentés dans venv, uv et pixi.
Documentation officielle#
Miniforge (en anglais) : les installateurs, l’installation et la désinstallation.
Getting started with conda (en anglais).