.computecanada.ca
}}
Copiez et collez la première adresse HTTP dans votre navigateur web; dans l'exemple salloc
ci-dessus, ce serait
http://node_name.int.cluster.computecanada.ca:8888/lab?token=101c3688298e78ab554ef86d93a196deaf5bcd2728fad4eb
=== Sous Windows ===
Pour créer un [[SSH tunnelling/fr|tunnel SSH]] à partir de Windows, utilisez [[Connecting_with_MobaXTerm/fr|MobaXTerm]] ou n’importe quel terminal qui supporte la commande ssh
.
- Une fois que JupyterLab est lancé sur un nœud de calcul (voir [[Advanced Jupyter configuration/fr#Lancer_JupyterLab|Lancer JupyterLab]]), vous pouvez extraire le
hostname:port
et le token
de la première adresse HTTP fournie, par exemple
http://node_name.int.cluster.computecanada.ca:8888/lab?token=101c368829...2728fad4eb
└────────────────────┬────────────────────┘ └──────────┬──────────┘
hostname:port token
- Ouvrez un nouvel onglet Terminal dans MobaXTerm. Dans la commande suivante, remplacez
par la valeur correspondante (voir l'image ci-dessus); remplacez
par le nom d'utilisateur pour votre compte avec l'Alliance; remplacez
par la grappe sur laquelle vous avez lancé JupyterLab.{{Command2
|prompt=[name@local ~]$
|ssh -L 8888: @.computecanada.ca
}}
- Ouvrez votre navigateur web et allez à l'adresse suivante, où
doit être remplacé par la valeur alphanumérique provenant de l'adresse illustrée ci-dessus.
http://localhost:8888/?token=
== Fermer JupyterLab ==
Pour arrêter le serveur JupyterLab avant la fin du temps d'exécution, appuyez deux fois sur CTRL-C dans le terminal où la tâche interactive a été lancée.
Si vous avez utilisé MobaXterm pour créer un tunnel SSH, appuyez sur Ctrl-D pour fermer le tunnel.
= Ajouter des noyaux =
Il est possible d'ajouter des noyaux pour d'autres langages de programmation, pour une version différente de Python ou pour un environnement virtuel persistant qui a tous les paquets et bibliothèques nécessaires à votre projet. Pour plus d'information, voyez [http://jupyter-client.readthedocs.io/en/latest/kernels.html Making kernels for Jupyter].
L'installation d'un nouveau noyau se fait en deux étapes :
# Installation des paquets qui permettent à l'interpréteur du langage de communiquer avec l'interface Jupyter.
# Création d'un fichier qui indique à JupyterLab comment amorcer un canal de communication avec l'interpréteur du langage. Ce fichier de configuration du noyau (kernel spec file) est sauvegardé dans un sous-répertoire de ~/.local/share/jupyter/kernels
.
Les prochaines sections présentent des exemples de procédures d'installation d'un noyau.
== Noyau Julia ==
Prérequis :
# La configuration d'un noyau Julia dépend d'un environnement virtuel Python et d'un répertoire kernels
. Si vous n'avez pas ces dépendances, assurez-vous de suivre les quelques premières directives dans la section Noyau Python ci-dessous (un noyau Python n'est pas requis).
# Puisque l'installation des paquets Julia nécessite un accès à l'internet, la configuration d'un noyau Julia doit se faire [[SSH/fr|à l'invite de commande sur un nœud de connexion]].
Une fois que l'environnement virtuel Python est disponible et activé, vous pouvez configurer le noyau Julia.
- Chargez le module [[Julia]].{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|module load julia
}}
- Installez IJulia.{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|echo -e 'using Pkg\nPkg.add("IJulia")' {{!}} julia
}}
- Important : Avant d'utiliser le noyau Julia, démarrez ou redémarrez une nouvelle session JupyterLab.
Pour plus d'information, consultez la [https://github.com/JuliaLang/IJulia.jl documentation sur IJulia].
=== Installer d'autres paquets Julia ===
Comme pour la procédure d'installation ci-dessus, il faut installer les paquets Julia à partir d'un nœud de connexion, mais l'environnement virtuel Python peut rester désactivé.
- Assurez-vous que le même module Julia est chargé.{{Command2
|module load julia
}}
- Installez les paquets nécessaires, par exemple
Glob
.{{Command2
|echo -e 'using Pkg\nPkg.add("Glob")' {{!}} julia
}}
- Les paquets Julia nouvellement installés devraient être utilisés dans un notebook exécuté par le noyau Julia.
== Noyau Python ==
Dans un terminal avec une session active sur un serveur distant,
vous pouvez configurer un [[Python/fr#Créer_et_utiliser_un_environnement_virtuel|environnement virtuel Python]] avec tous les [[Available_Python_wheels/fr|modules Python ]] nécessaires et un noyau Python adapté à JupyterLab.
La configuration la plus simple de Jupyter dans un nouvel environnement virtuel Python se fait comme suit :
- Si vous n'avez pas déjà un environnement virtuel Python, créez-en un, puis activez-le.
- Commencez à partir d'un environnement Bash vierge (ceci n'est nécessaire que si vous utilisez le Terminal Jupyter via [[JupyterHub/fr|JupyterHub]] pour créer et configurer le noyau Python).{{Command2
|env -i HOME{{=}}$HOME bash -l
}}
- Chargez un module Python.{{Command2
|module load python
}}
- Créez un nouvel environnement virtuel Python.{{Command2
|virtualenv --no-download $HOME/jupyter_py3
}}
- Activez le nouvel environnement virtuel.{{Command2
|source $HOME/jupyter_py3/bin/activate
}}
- Créez le répertoire commun
kernels
qui est utilisé par tous les noyaux que vous voulez installer.{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|mkdir -p ~/.local/share/jupyter/kernels
}}
- Enfin, installez le noyau Python.
- Installez la bibliothèque
ipykernel
.{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|pip install --no-index ipykernel
}}
- Générez le fichier des spécifications du noyau. Remplacez
par un nom spécifique à votre noyau.{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|python -m ipykernel install --user --name --display-name "Python 3.x Kernel"
}}
- Important : Avant d'utiliser le noyau Python, démarrez ou redémarrez une nouvelle session JupyterLab.
Pour plus d'information, consultez la [http://ipython.readthedocs.io/en/stable/install/kernel_install.html documentation IPython kernel].
=== Installer d'autres bibliothèques Python ===
Selon l'environnement virtuel Python configuré dans la section précédente :
Terminal Jupyter via [[JupyterHub/fr|JupyterHub]], assurez-vous que l'environnement virtuel Python est activé et se trouve dans un environnement Bash vierge. Voir la section ci-dessus pour les détails.
- Installez une bibliothèque qui serait requise, par exemple
numpy
.{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|pip install --no-index numpy
}}
- Vous pouvez maintenant importer les bibliothèques Python dans un notebook exécuté par le
Python 3.x Kernel
.
== Noyau R ==
Prérequis :
# La configuration d'un noyau R dépend d'un environnement virtuel Python et d'un répertoire kernels
. Si vous n'avez pas ces dépendances, assurez-vous de suivre les quelques premières directives dans la section Noyau Python ci-dessus (un noyau Python n'est pas requis).
# Puisque l'installation de paquets R nécessite un accès à [https://cran.r-project.org/ CRAN], la configuration d'un noyau R doit se faire [[SSH/fr|à l'invite de commande sur un nœud de connexion]].
Une fois que l'environnement virtuel Python est disponible et activé, vous pouvez configurer le noyau R.
- Chargez un module R.{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|module load r/4.1
}}
- Installez les dépendances du noyau R, soit
crayon
, pbdZMQ
et devtools
; ceci pourrait prendre jusqu'à 10 minutes et les paquets devraient être installés dans un répertoire local tel que ~/R/x86_64-pc-linux-gnu-library/4.1
.{{Command2
|prompt=(jupyter_py3) [name@server ~]$
|R --no-save
|result=> install.packages(c('crayon', 'pbdZMQ', 'devtools'), repos{{=}}'http://cran.us.r-project.org')
}}
- Installez le noyau R.{{Command2
|prompt=>
|devtools::install_github(paste0('IRkernel/', c('repr', 'IRdisplay', 'IRkernel')))
}}
- Installez le fichier des spécifications du noyau R.{{Command2
|prompt=>
|IRkernel::installspec()
}}
- Important : Avant d'utiliser le noyau R, démarrez ou redémarrez une nouvelle session JupyterLab.
Pour plus d'information, consultez la [https://irkernel.github.io/docs/ documentation IRkernel].
=== Installer d'autres paquets R ===
L'installation de paquets R ne peut se faire à partir de notebooks parce qu'il n'y a pas d'accès à CRAN. Comme dans la procédure d'installation ci-dessus, il faut installer les paquets R dans un nœud de connexion, mais l'environnement virtuel Python peut rester désactivé.
- Assurez-vous que le même module R module est chargé.{{Command2
|module load r/4.1
}}
- Démarrez l'interpréteur R et installez les paquets requis. Voici un exemple avec
doParallel
:{{Command2
|R --no-save
|result=> install.packages('doParallel', repos{{=}}'http://cran.us.r-project.org')
}}
- Les paquets R nouvellement installés devraient déjà pouvoir être utilisés dans un notebook exécuté par le noyau R.
= Exécution de notebooks en scripts Python =
Pour des tâches ou des analyses plus longues, soumettez [[Running_jobs/fr#Soumettre_des_tâches_avec_sbatch|une tâche interactive]]. Il faut alors convertir le notebook en un script Python, créer le script et le soumettre.
1. Dans un nœud de connexion, créez et activez [[Python/fr#Créer_et_utiliser_un_environnement_virtuel|un environnement virtuel]], installez ensuite nbconvert si ce n'est pas déjà installé.
{{Command
|prompt=(venv) [name@server ~]$
|pip install --no-index nbconvert
}}
2. Convertissez le ou les notebooks en scripts Python avec
{{Command
|prompt=(venv) [name@server ~]$
|jupyter nbconvert --to python mynotebook.ipynb
}}
3. Créez le script et soumettez la tâche.
Dans le script de soumission, exécutez le notebook converti avec
python mynotebook.py
Soumettez votre tâche non interactive avec
{{Command
|sbatch my-submit.sh
}}
= Références =