[PYTHON] Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook

Jupyter Notebook est très pratique en tant qu'environnement d'exécution pratique pour Python, et j'adore ça. Vous pouvez ajouter des langages autres que Python et vous pouvez également exécuter des commandes Linux (commandes magiques) sur votre notebook.

Exemple d'exécution

Vous pouvez exécuter la commande ls et la commande cd comme indiqué ci-dessous.

commande ls

!ls

commande cd

%cd

commande pip

La commande pip peut également être exécutée comme une commande magique. Si vous souhaitez installer des pandas, vous pouvez l'exécuter avec la commande suivante. Si vous souhaitez ajouter des bibliothèques requises supplémentaires lors de l'utilisation de Jupyter Notebook Si vous écrivez la commande suivante, vous pouvez être assuré lors du partage de Notebook.

!pip install pandas

Exécutez également les commandes qui nécessitent sudo

Le sujet principal est d'ici. Essayez d'exécuter une commande qui doit être exécutée avec des privilèges d'administrateur (sudo). Ici, essayez d'exécuter ʻapt`. Dans la bibliothèque Python, il y a une chose [^ app] qui vous oblige parfois à installer l'application avec le gestionnaire de paquets du système d'exploitation séparément. Si vous pouvez l'exécuter sur Notebook, vous pouvez éviter d'oublier de l'installer.

Étape 1: Exécuter tel quel

Essayez d'exécuter ! Sudo apt update tel quel.

!sudo apt update

Le résultat est le suivant. Vous ne pouvez pas entrer le mot de passe dans cet état.

sudo.png

Étape 2: Passez une chaîne à l'aide de la commande echo

Essayez de transmettre le mot de passe sous forme de chaîne à l'aide de la commande echo. Passez l'option -S à la commande sudo. Vous pouvez maintenant passer le mot de passe comme argument de ligne de commande. (En fait, la méthode de saisie du mot de passe à partir de l'entrée standard)

!echo "passwd" | sudo -S apt udate
sudopw.png

Cela a fonctionné en toute sécurité. Cependant, cela devient compliqué car il est nécessaire de réécrire la chaîne de caractères lors du partage du notebook. De plus, le mot de passe est complètement connu tel quel, ce qui n'est pas préférable pour la sécurité. Si le mot de passe est divulgué, cela n'a aucun sens. .. ..

Transmettez le mot de passe à un fichier externe

Écrivez le mot de passe dans un fichier appelé passwd.txt, et modifiez la méthode pour lire et transmettre le contenu de ce fichier. De cette façon, vous n'avez pas à vous soucier de la fuite accidentelle de votre mot de passe. Utilisez la commande xargs pour lire le fichier. Une commande qui crée des arguments de ligne de commande. Ici, le fichier est spécifié en passant l'option -a (--arg-file =).

!xargs -a passwd.txt | sudo apt update
sudopwarg.png

J'ai pu l'exécuter en toute sécurité. Il n'y a pas besoin de s'inquiéter de la fuite du mot de passe, et il n'est pas nécessaire de réécrire la partie mot de passe lors du partage d'un notebook, éliminant ainsi le travail compliqué [^ passwd]. C'est sûr.

Reference

[^ app]: Mecab et GraphViz doivent être installés séparément de la version Python.

[^ passwd]: Il est nécessaire de préparer un fichier équivalent à passwd.txt. .. ..

Recommended Posts

Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
Comment exécuter des commandes avec Jupyter Notebook
Comment exécuter une commande à l'aide d'un sous-processus en Python
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Pour générer une valeur au milieu d'une cellule avec Jupyter Notebook
J'ai créé une commande appdo pour exécuter des commandes dans le contexte de l'application
Comment rendre la largeur de police du notebook jupyter mis dans pyenv égale
Comment importer NoteBook en tant que module dans Jupyter (IPython)
Comment voir le contenu du fichier ipynb du notebook Jupyter
Comment importer NoteBook en tant que module dans Jupyter (IPython)
[sh] Comment stocker les résultats de l'exécution de la commande dans des variables
Comment déterminer l'existence d'un élément sélénium en Python
Comment vérifier la taille de la mémoire d'une variable en Python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Comment afficher le résultat de sortie de la commande man Linux dans un fichier
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
Jupyter Notebook Principes d'utilisation
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
Comment calculer la volatilité d'une marque
Comment mentionner un groupe d'utilisateurs avec une notification de mou, comment vérifier l'ID d'un groupe d'utilisateurs
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Comment obtenir une liste de fichiers dans le même répertoire avec python
Comment écrire une interface graphique à l'aide de la commande maya
Comment obtenir le nombre de chiffres en Python
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras
Comment lancer instantanément Jupyter Notebook à partir du terminal
Comment frapper le document de Magic Function (Line Magic)
Comment afficher la date de modification d'un fichier en langage C jusqu'à nanosecondes
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Comment utiliser Jupyter Notebook
[Ubuntu] Comment supprimer tout le contenu du répertoire
Comment trouver le nombre optimal de clusters pour les k-moyennes
Un mémorandum pour enregistrer la bibliothèque écrit en Hy dans PyPI
Comment utiliser la méthode __call__ dans la classe Python
Comment développer dans un environnement virtuel Python [Memo]
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Comment trouver le coefficient de mise à l'échelle d'une ondelette bipolaire
La façon habituelle d'ajouter un noyau avec Jupyter Notebook
Comment connecter le contenu de la liste dans une chaîne de caractères
Comment compter rapidement la fréquence d'apparition des caractères à partir d'une chaîne de caractères en Python?
Comment représenter la distribution de la composition bactérienne à partir des données d'analyse Qiime2 dans un diagramme de moustaches
Résumé personnel de Jupyter Notebook Magic Command
Dans la commande python, python pointe vers python3.8
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
Comment exécuter la commande sed plusieurs fois à l'aide de l'instruction for
Comment démarrer par lots un programme Python créé avec le notebook Jupyter
Comment implémenter du code Java en arrière-plan de Red Hat (Linux ONE)
Comment résoudre ModuleNotFoundError: aucun module nommé XXX dans Jupyter Notebook
Comment connaître la structure interne d'un objet en Python
Comment obtenir toutes les valeurs possibles dans une expression régulière
Comment changer la couleur du seul bouton pressé avec Tkinter
[EC2] Comment installer Chrome et le contenu de chaque commande
Comment faire une commande pour lire le fichier de paramètres avec pyramide