Pip & Venv
Avec cette méthode, on peut se contenter du python3
du système d’exploitation. Dans tous les cas, ne jamais installer les packages dans l’environnement global, toujours dans des environnements virtuels isolés du reste du système d’exploitation.
- Créer un nouveau repo github
- Le cloner avec
git clone https://...
- Créer les sous-dossiers suivants :
data
,src
,notebooks
- Créer un environnement virtuel
.venv
, à la racine du dossier. - Activer l’environnement virtuel, installer les packages nécessaires.
- Créer un fichier
requirements.txt
avecpip freeze > requirements.txt
- Créer un fichier
.gitignore
, ignorerdata/
et.venv/
. - add, commit & push
Conda (recommandé)
- Installer Miniconda (voir Quick command line install, c’est l’affaire de 4 ou 5 commandes).
- Créer un environnement virtuel avec
conda create
Hors connexion, la commande conda create
va échouer, à moins d’utiliser la commande --offline
. En effet, même si on ne spécifie pas de paquet à installer, conda va “consulter” les channels par défaut.
Par défaut, les environnement virtuels conda sont centralisés dans le dossier ~/miniconda3
. C’est bien ainsi.
- Activer cet environnement avec
conda activate
- Installer les packages nécessaires, souvent avec le chanel conda-forge :
conda install -c conda-forge XXX
Il y a deux approches possibles pour la création d’un environnement conda et l’installation des paquets :
- installer les paquets directement avec
conda create
- avec
conda create
,conda activate
,conda install
.
Les deux approches sont valides. Dans un cas : conda create -n sklearn-env -c conda-forge scikit-learn
, dans l’autre conda create -n sklearn-env conda activate sklearn-env conda install -c conda-forge scikit-learn
. Petite préférence pour la première approche pour des environnements simples avec quelques packages définis à l’avance (cela permet de gérer dès le départ les conflits de dépendance). Préférence évidente pour la deuxième dans le cas où les paquets sont ajoutés de manière incrémentale.
Jupyter
Installer Jupyter notebook ou Jupyter Lab dans un environnement à part (jup par exemple), créé soit avec conda, soit avec venv.
Pour ajouter utiliser un environnement virtuel conda (par exemple sklearn-env) comme kernel jupyter :
conda activate sklearn-env
conda install -c conda-forge ipykernel
python -m ipykernel install --user --name=sklearn-env --display-name "Python (sklearn-env)"
Lancer jupyter notebook et sélectionner le kernel correspondant.
Les kernels jupyter sont stockés dans ~/.locale/share/jupyter/kernels
sous la forme d’un fichier .json
. Si on supprime un environnement virtuel et qu’on ne veut plus qu’il apparaisse dans la page de sélection des kernels (pour Jupyterlab) ou le menu déroulant (pour Jupyter notebook), c’est ce dossier qu’il faut supprimer.
Conda & pip
- Chercher d’abord s’il est possible d’installer un package avec conda, notamment via conda-forge.
- S’il n’est pas disponible, alors l’installer avec
pip
. - Éviter d’installer un même package une fois avec
conda
, un autre avecpip
, cela risque de créer des problèmes de dépendance. - Pour savoir quels packages ont été crées avec conda, et quels autres avec pip, il suffit d’appeler
conda list
qui donne le chanel d’installation.
Divers
- Jupyter lab doesn’t come with an icon, I have one because I installed Jupyter Desktop and then uninstalled it. It created a Desktop configuration file in ~/.local/share/applications and added and icon to ~/local/share/icons/…
- Exemple de conflit de dépendance si on ne crée pas d’environnement virtuel : Harlequin & Jupyter.