La configuration d'une machine virtuelle est un problème. Mais je veux créer un environnement de développement Python ** bon marché ** pour plusieurs personnes. Qiita pour ceux qui sont inquiets. C'est un mémo pour moi.
Espérons que ** cela prendra environ une heure **.
Material --Raspberry Pi3 + (je voulais vraiment de la mémoire Raspberry Pi4: 4 Go)
Method
Tout d'abord, utilisez apt pour installer l'ensemble nécessaire sur jupyterhub.
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install python3 python3-pip npm nodejs libnode64
Ensuite, utilisez pip3 et npm pour installer l'ensemble jupyterhub et la fonction proxy. # 1
$ sudo pip3 install jupyterhub notebook wheel ipywidgets jupyterlab
$ sudo npm install -g configurable-http-proxy
Démarrez JupyterHub localement et vérifiez le fonctionnement. Tout d'abord, vérifiez auprès d'un utilisateur général.
$ /usr/local/bin/jupyterhub
Ensuite, dans Chromium sur le bureau du Raspberry Pi, accédez à http: // localhost: 8000 / et confirmez que l'écran suivant apparaît. Le serveur JupyterHub peut se terminer par `` ctrl-c ''.
Pour l'utiliser en tant qu'utilisateur multiple, vous devez le démarrer en tant qu'utilisateur root. Alors, démarrez-le en tant que root (sudo) et vérifiez à nouveau que l'écran de connexion ci-dessus est affiché.
```Bash
$ sudo jupyterhub
```
Afin de configurer JupyterHub, créez la source du fichier de configuration dans "/ etc / jupyterhub".
$ sudo mkdir /etc/jupyterhub
$ cd /etc/jupyterhub
$ sudo jupyterhub --generate-config #Demandez à cette commande de créer un fichier de configuration par défaut
Puis "jupyterhub_config.py" est craché. Ouvrez-le en tant qu'utilisateur root et corrigez les problèmes suivants:
```Bash
$ sudo vi /etc/jupyterhub/jupyterhub_config.py #vi ou ce que vous voulez avec votre éditeur de texte préféré
```
```/etc/jupyterhub/jupyterhub_config.py
#Je veux utiliser jupyter lab par défaut, alors modifiez ce qui suit
c.Spawner.default_url = '/lab'
#Ajouter des utilisateurs accessibles à la liste blanche
c.Authenticator.whitelist = {'User1, User2'}
#Ajouter un utilisateur administrateur(Autorisé à déconnecter les utilisateurs généraux)
c.Authenticator.admin_users = {'User0'}
#Défini pour faire référence au dossier du bloc-notes de chaque répertoire utilisateur lors de l'accès
#Ce n'est pas un élément de réglage obligatoire, mais un endroit où les préférences sont divisées.
c.Spawner.notebook_dir = '~/notebook'
```
Si "c. Spawner.notebook_dir" est défini, "le répertoire de notebook de chaque utilisateur (~ / notebook) doit être créé à l'avance. (Site de référence: https://qiita.com/atsushi_wagatsuma/items/89b714328663992b54f4)
Pour une gestion détaillée des utilisateurs, reportez-vous à cet article "Ajout et suppression d'utilisateurs".
Enfin, démarrez jupyterhub et vérifiez le fonctionnement.
$ sudo jupyterhub -f /etc/jupyterhub/jupyterhub_config.py
...
[I 2020-02-23 11:10:12.687 JupyterHub app:2631] JupyterHub is now running at http://:8000 #Si cet affichage apparaît, le démarrage est terminé!
Vérifiez si l'utilisateur Admin et l'utilisateur général peuvent se connecter à partir de l'hôte local ou d'un autre ordinateur du réseau. Si vous écrivez un programme Python simple et que cela fonctionne, c'est OK!
Localhost:http://localhost:8000/
Network: http://<IP address>:8000/
Cela a fonctionné pour le moment, mais je dois taper
$ sudo jupyterhub -f / etc / jupyterhub / jupyterhub_config.py '' à chaque fois que je le lance. Très ennuyant. Par conséquent, il est géré de manière centralisée par le service Systemd et configuré pour démarrer automatiquement au démarrage de Raspberry pi.
$ sudo mkdir -p /opt/jupyterhub/etc/systemd #Selon la convention, créez un dossier comme celui-ci sous opt et placez-y le fichier de configuration.
$ sudo vi /opt/jupyterhub/etc/systemd/jupyterhub.service #Créez un nouveau fichier avec l'éditeur de texte tel que vi et copiez et collez l'écriture suivante.
[Unit]
Description=JupyterHub
After=syslog.target network.target
[Service]
User=root
Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" ExecStart=/usr/local/bin/jupyterhub -f /etc/jupyterhub/jupyterhub_config.py
[Install]
WantedBy=multi-user.target
```
Créez un lien symbolique vers le dossier de chargement systemd.
$ sudo ln -s /opt/jupyterhub/etc/systemd/jupyterhub.service /etc/systemd/system/jupyterhub.service
Rechargez le fichier de configuration avec systmctl. Ensuite, configurez le jupyterhub pour qu'il démarre automatiquement lorsque le Raspberry Pi démarre. De plus, essayez de le démarrer manuellement pour le moment.
$ sudo systemctl daemon-reload # config.Recharger le fichier
$ sudo systemctl enable jupyterhub.service #Jupyterhub au démarrage.le service démarre automatiquement
$ sudo systemctl start jupyterhub.service # jupyterhub.Démarrer manuellement le service
$ sudo systemctl status jupyterhub.service #jupyterhub.Vérifiez l'état du service.
# "Active: active (runnning)"Est affiché, OK
● jupyterhub.service - JupyterHub
Loaded: loaded (/opt/jupyterhub/etc/systemd/jupyterhub.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-02-23 13:11:01 JST; 10s ago ... ```
--Par défaut, vous pouvez sélectionner un utilisateur qui peut accéder à JupyterHub à partir des utilisateurs Unix du serveur sur lequel JupyterHub est installé.
Quel utilisateur Unix peut accéder au démarrage du serveur JupyterHub ** ** est le
c.Authenticator.whitelist de ce qui précède` `` `` / etc / jupyterhub / jupyterhub_config.py
. Ajouté à.
L'utilisateur admin est en cours d'exécution pendant que le serveur jupyterHub est en cours d'exécution Vous pouvez gérer l'ajout / la suppression d'utilisateurs sur Jupyterhub Web App, mais sachez que ce paramètre sera réinitialisé ** lorsque vous redémarrerez le serveur jupyterHub.
Document Web officiel contient plus d'informations. ** A lire absolument pour ceux qui le gèrent sérieusement. ** **
Jupyterlab/hub-extension
À partir du 23.02.2020, vous pouvez accéder à l'écran de configuration du concentrateur à partir de Fichier-> Panneau de configuration du concentrateur`
de Jupyterlab. Vous n'avez pas besoin de Jupyterlab / hub-extension?
Post-scriptum (2020.02.23) Officiellement, cette extension semble avoir été intégrée à Jupyterlab. Par conséquent, il n'est pas nécessaire de l'installer. GitHub: jupyterlab/jupyterlab
This adds a "Hub" menu to JupyterLab that allows a user to log out of JupyterHub or access their JupyterHub control panel.
Python Library
Remarque: puisque je suis un groupe pip '', je ne le décrirai que. Si vous êtes membre du groupe
Conda``, veuillez google ... m (_ _) m
La bibliothèque que vous souhaitez appliquer à tous les utilisateurs est installée et gérée avec sudo.
$ sudo pip3 install <library name>
La bibliothèque Python que chaque utilisateur souhaite installer et gérer peut être saisie en tapant individuellement des commandes pour chaque utilisateur en utilisant `` JupyterLab-> Launcher-> Other-> Terminal ''.
$ pip3 install <library name>
Trouble-Shooting
Lorsque j'ai essayé de démarrer Jupyterhub, j'ai reçu un code d'erreur lié au proxy et je n'ai pas pu le démarrer. Je pensais que npm était la cause, alors j'ai tapé la commande npm, mais poirier.
$ sudo npm
$ #Rien ne s'affiche
Il n'y a aucune aide pour cela, supprimez donc les éléments liés à npn / node / nodejs et réinstallez.
$ sudo apt remove node npm nodejs
$ sudo apt update #Mettre à jour la liste pour le moment
$ sudo apt upgrade #Pour le moment, la dernière version
$ sudo apt install node libnode64 npm
Essayez de taper la commande npm. C'est bien car la version s'affiche normalement.
$ sudo npm -v
5.8.0
Si vous appuyez uniquement sur npm, vous recevrez un avertissement indiquant que "les versions de npm et de Node.js ne correspondent pas". Cela peut poser des problèmes à l'avenir, mais jupyterhub fonctionne pour le moment.
$ sudo npm
npm WARN npm npm does not support Node.js v10.15.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
Démarrez jupyterhub et vérifiez s'il démarre normalement.
$ sudo jupyterhub -f /etc/jupyterhub/jupyterhub_config.py
...
[I 2020-02-23 11:10:12.687 JupyterHub app:2631] JupyterHub is now running at http://:8000
Probablement en raison du problème que les versions Node.js et npm ci-dessus ne correspondent pas et ne peuvent pas être reconstruites? Actuellement aucune action (au 23 février 2020).
Great Web references for JupyterLab/Python Excellent site pour ceux qui découvrent Jupyter Lab / Python!
Reference