|
|
## Sommaire
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
## Utiliser Python Anaconda pour Linux dans WSL (le sous système Windows pour Linux)
|
|
|
|
|
|
### WSL (le sous système Windows pour Linux)
|
|
|
|
|
|
#### Qu'est ce que WSL ?
|
|
|
|
|
|
Le sous système Windows pour Linux (WSL - Windows Subsystem for Linux) est une fonctionnalité disponible dans toutes les éditions Windows 10 depuis 2017. Il permet d'exécuter une distribution Linux complète (Ubuntu, Fedora, etc.) au sein de Windows, éventuellement en parallèle d'autres applications. Concrètement, on dispose d'un terminal Bash dans lequel on peut exécuter toute commande qui serai disponible dans la "vraie" distribution Linux.
|
|
|
|
|
|
Il est également possible de faire fonctionner des applications graphiques comme nous le verrons par la suite.
|
|
|
|
|
|
L'approche WSL se distingue :
|
|
|
* des machines virtuelles classique, notamment par une meilleure intégration dans Windows et un lancement quasi instantané (une seconde),
|
|
|
* des "émulateurs Bash" pour Windows comme [MSYS2](https://www.msys2.org/) ou [Git Bash](https://gitforwindows.org/), car ces derniers sont juste fait pour donner un "goût Linux" à des applications compilées spécifiquement pour ces environnements, alors que WSL fait tourner une distribution Linux complète.
|
|
|
|
|
|
Enfin, on note que deux versions de WSL sont disponibles. WSL 2 est distribué officiellement depuis Mai 2020 seulement et a vocation à co-exister avec WSL 1. Nous utiliserons WSL 1 dans la suite sachant qu'un environnement WSL 1 peut être migré vers WSL 2 assez facilement.
|
|
|
|
|
|
:book: https://docs.microsoft.com/fr-fr/windows/wsl/install-win10#update-to-wsl-2
|
|
|
|
|
|
#### Installation de WSL et Ubuntu
|
|
|
|
|
|
:book: https://docs.microsoft.com/fr-fr/windows/wsl/install-win10
|
|
|
|
|
|
1. Exécutez l'invite de commande (PowerShell) en tant qu'administrateur
|
|
|
(dans la bare de recherche, tappez `cmd` puis clic droit sur `Invite de commande` et `Exécuter en tant qu'administrateur`.
|
|
|

|
|
|
|
|
|
2. Dans l'invite de commande, saisissez la commande suivante et appuyez sur `Entrée` :
|
|
|
```
|
|
|
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
|
|
|
```
|
|
|

|
|
|
|
|
|
3. Redémarrez votre ordinateur
|
|
|
|
|
|
4. Ouvrez le Microsoft Store et sélectionnez votre distribution Linux préférée (nous avons choisi Ubuntu mais les instructions de ce wiki devraient rester valides pour une autre distribution).
|
|
|

|
|
|
|
|
|
5. Dans la page de la distribution, sélectionnez « Obtenir ».
|
|
|

|
|
|
|
|
|
6. Lancez Ubuntu à partir du menu Windows (ou une autre distribution installée)
|
|
|

|
|
|
|
|
|
7. Configurer le nom d'utilisateur et mot de passe tel que demandé lors du premier démarrage
|
|
|

|
|
|
|
|
|
:bulb: La première fois que vous lancez une distribution, une fenêtre de console s’ouvre et vous devez attendre une minute ou deux pour que les fichiers soient décompressés et stockés sur votre PC. Tous les lancements ultérieurs doivent prendre moins d’une seconde.
|
|
|
|
|
|
:tada: Vous avez installé Ubuntu dans WSL :smile:
|
|
|
|
|
|
#### Utilisation
|
|
|
|
|
|
Au lancement d'Ubuntu à partir du menu Windows, vous obtenez un terminal Bash.
|
|
|
|
|
|
:bulb: Faites `Maj-Ctrl-C`/`Maj-Ctrl-V` pour `copier`/`coller` dans le terminal Linux. `clic droit` permet également de `coller` dans le terminal.
|
|
|
|
|
|
:bulb: Depuis Linux, vos fichier Windows sont accessibles à `/mnt/c/Users/<user-name>` (remplacer <username> avec votre nom d'utilisateur Windows)
|
|
|
|
|
|
:bulb: Depuis Windows, vos fichier Linux sont accessibles à `\\wsl$` (vous pouvez entrer l'adresse dans l'explorateur windows et éventuellement ajouter le dossier à votre barre d'accès rapide).
|
|
|
|
|
|
:bangbang: Pour de meilleures performance, utilisez l'espace de stockage Linux lorsque des fichiers doivent être utilisés par des applications Linux (par exemple des scripts Python)
|
|
|
|
|
|
:bangbang: Windows ne met pas automatiquement à jour vos distributions Linux. Pour mettre à jour tous vos paquets, entrez :
|
|
|
```
|
|
|
sudo apt update && sudo apt upgrade
|
|
|
```
|
|
|
|
|
|
:bulb: Si vous oubliez votre mot de passe suivez les instructions suivantes :
|
|
|
1. 1ntrez la commande :
|
|
|
```
|
|
|
ubuntu config --default-user root
|
|
|
```
|
|
|
2. Redémarrez Ubuntu et entrez `passwd <username>` en remplaçant <username> avec votre nom d'utilisateur Linux, et entrez un nouveau mot de passe.
|
|
|
|
|
|
3. Enfin, entrez la commande suivante avant de redémarrer une dernière fois Ubuntu pour retrouver votre utilisateur :
|
|
|
```
|
|
|
ubuntu config --default-user <username>
|
|
|
```
|
|
|
|
|
|
### Installation d'Anaconda pour Linux
|
|
|
|
|
|
:book: https://docs.anaconda.com/anaconda/install/linux/
|
|
|
|
|
|
1. Télécharger Anaconda pour Linux (pour l'adresse de la dernière version, consulter https://www.anaconda.com/products/individual#Downloads, faites clic droit sur le lien `64-Bit (x86) Installer` pour Linux `Copier l'adresse du lien`, et modifier si besoin dans la commande qui suit):
|
|
|
```
|
|
|
wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
|
|
|
```
|
|
|
2. Exécutez le script d’installation (modifiez la version d'Anaconda si besoin):
|
|
|
```
|
|
|
sh Anaconda3-2020.02-Linux-x86_64.sh
|
|
|
```
|
|
|
3. Suivez les instructions avec les choix par défaut.
|
|
|
4. Redémarrez Ubuntu
|
|
|
|
|
|
:bulb: Vous pouvez supprimer le script d’installation Conda avec la commande `rm Anaconda3-2020.02-Linux-x86_64.sh` (modifiez la version d'Anaconda si besoin)
|
|
|
|
|
|
:tada: Python et Anaconda sont installés dans votre WSL Ubuntu :snake: :snake:
|
|
|
|
|
|
:bulb: :book: Pour utiliser Conda, en particulier les environnements, vous pouvez vous référer au [pense bête Conda (CONDA CHEAT SHEET)](https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf)
|
|
|
|
|
|
### Instalation de pyBERT et pyGIMli
|
|
|
|
|
|
:book: http://www.resistivity.net/download/bert-tutorial.pdf (section installation, Bert for Linux users)
|
|
|
|
|
|
Pour installer BERT dans un environnement Conda nommé bert, utilisez les commandes suivantes :
|
|
|
```
|
|
|
$ conda config --add channels gimli --add channels conda-forge
|
|
|
$ conda create -n bert
|
|
|
$ conda activate bert
|
|
|
(bert)$ conda install pybert
|
|
|
```
|
|
|
|
|
|
:book: https://www.pygimli.org/installation.html
|
|
|
|
|
|
Pour installer pyGIMLi dans un environnement Conda nommé pg, utilisez les commandes suivantes :
|
|
|
```
|
|
|
conda create -n pg -c gimli -c conda-forge pygimli
|
|
|
```
|
|
|
|
|
|
:bulb: Vous pouvez installer une version spécifique de pyGIMLi dans un environnement avec une commande du genre `conda create -n pg1-1-0 -c gimli -c conda-forge pygimli=1.1.0`
|
|
|
|
|
|
TODO : faire un point sur les environnements Python disponibles à ce stade, sans doute avec une capture du terminal qui illustre (Python système Ubuntu, Conda base, Conda bert, Conda pg)
|
|
|
|
|
|
### Installation et configuration d'un environnement de développement (Spyder et/ou Jupyter Lab)
|
|
|
|
|
|
#### Spyder
|
|
|
|
|
|
#### Jupyter Lab
|
|
|
|
|
|
:book: https://jupyterlab.readthedocs.io/en/stable/
|
|
|
|
|
|
Jupyter Lab est un environnement de développement pour *notebooks* qui supporte Python et bien d'autres langages (Mathlab, R, etc.). Un notebook est composé de cellules qui contiennent du code, ou du texte formaté, et peuvent être exécutées indépendamment ou toutes à la suite. Les notebooks sont très pratiques pour structurer des chaînes de traitement complexes et créer immédiatement des rendus structurés grâce aux cellules de texte.
|
|
|
|
|
|
Jupyter Lab fonctionne en mode client-serveur de sorte qu'il peut être exécuté sur WSL (ou même un serveur de calcul Linux distant) et vous y accédez via votre navigateur habituel sous Windows.
|
|
|
|
|
|
:tada: Jupyter Lab est déjà installé avec Anaconda :smiley:
|
|
|
|
|
|
**Pour utiliser un environnement Conda au sein de Jupyter Lab** (on parle de *kernel*), une petite manipulation est nécessaire.
|
|
|
|
|
|
Nous prenons dans ce qui suit l'exemple de l'environnement `bert` créé précédemment. Pour l'utiliser dans Jupyter Lab entrez les commandes suivantes :
|
|
|
```
|
|
|
$ conda activate bert
|
|
|
(bert)$ conda install ipykernel
|
|
|
(bert)$ ipython kernel install --user --name=bert-kernel
|
|
|
(bert)$ conda deactivate
|
|
|
```
|
|
|
:bulb: Changez `bert-name` avec le nom que vous souhaitez voir dans Jupyter Lab pour ce kernel / environnement.
|
|
|
|
|
|
**Pour utiliser Jupyter Lab :**
|
|
|
|
|
|
1. Assurez vous que vous êtes dans l'environnement Conda `base` avec la commande :
|
|
|
```
|
|
|
conda activate base
|
|
|
```
|
|
|
|
|
|
2. Exécutez Jupyter Lab avec :
|
|
|
```
|
|
|
jupyter lab
|
|
|
```
|
|
|
Vous obtenez quelque chose comme ce qui suit dans votre terminal. Un message d'erreur sans importance est retourné. Ne vous inquiétez pas, Jupyter Lab est bien lancé.
|
|
|

|
|
|
|
|
|
3. Pour accéder à Jupyter Lab, ouvrez un navigateur et copiez/collez une des URL retournée dans le terminal. Elle ressemble à `http://localhost:8888/?token=3703e9f58b7d660110a20f53d7d62b5d6c751d283ce00e84`
|
|
|
|
|
|
:bulb: Pour accéder à Jupyter Lab directement avec `http://localhost:8888/`, entrez cette adresse dans le navigateur et suivez les instructions pour utiliser un *mot de passe* au lieu d'un *token*.
|
|
|
|
|
|
:bulb: Pour arrêter Jupyter lab, fermez le terminal Ubuntu, ou entrez `ctrl-c` dans le terminal, et confirmez avec `yes` :
|
|
|

|
|
|
|
|
|
### Faire tourner les exemple de BERT, dans l'environnement `bert`
|
|
|
|
|
|
:book: http://resistivity.net/bert/_examples/index.html
|
|
|
|
|
|
#### Avec Jupyter Lab
|
|
|
|
|
|
1. Téléchargez les exemples Bert au format notebook :
|
|
|
```
|
|
|
wget http://resistivity.net/bert/_downloads/_examples_jupyter.zip
|
|
|
``` |
|
|
\ No newline at end of file |