Auparavant, explications sur Utilisation des fonctionnalités riches d'IPython et Comment utiliser IPython Notebook 72d744554f0454139c0f), Démarrer le serveur de notebook IPython J'ai écrit la méthode.
Cette fois, je continuerai à écrire sur le changement de profil, la personnalisation des invites et l'utilisation du débogueur interactif (pdb). Les débogueurs interactifs sont particulièrement importants et si vous pouvez les maîtriser, votre productivité de développement augmentera considérablement.
Vous pouvez générer un profil par défaut avec la commande suivante:
ipython profile create default
Cela créera un répertoire comme .ipython / profile_default dans l'emplacement défini comme votre répertoire personnel. Cette partie par défaut est le nom du profil.
Vous pouvez principalement définir les éléments suivants dans le profil.
Vous pouvez spécifier le nom du profil en spécifiant des options telles que ipython --profile = default lors du démarrage d'IPython. Plus d'informations sur les profils peuvent être trouvées dans la documentation (http://ipython.org/ipython-doc/2/config/intro.html#profiles).
profile_default / ipython_config.py définit les paramètres généraux de l'invite du shell IPython. Vous pouvez en savoir plus sur ce fichier dans la documentation IPython (http://ipython.org/ipython-doc/2/development/config.html#python-configuration-files).
Dans ce fichier, une instance est d'abord créée en tant que c = get_config (), et l'environnement est défini en définissant la valeur de cette instance. Par exemple, dans mon environnement, l'invite est la suivante.
c.PromptManager.out_template = r'[\#]: '
c.PromptManager.in2_template = r'{color.Green}[{color.LightGreen}\D{color.Green}]: '
c.PromptManager.in_template = r'{color.Yellow}\h{color.LightBlue}[{color.LightCyan}\T{color.LightBlue}]{color.Green}[{color.LightGreen}\#{color.Green}]: '
out définit la ligne de sortie, in2 définit la ligne de continuation et in définit la ligne d'entrée.
Dans le fichier de configuration, l'instance c est utilisée pour l'opération, mais la commande% config magic est utilisée pour faire fonctionner l'environnement à partir du shell.
Vous pouvez également vous référer à la Documentation pour étendre l'invite.
Dans l'exemple ci-dessus, certaines bibliothèques sont importées par le script d'initialisation comme écrit précédemment.
Les commandes commençant par% sont appelées commandes magiques. Si vous tapez uniquement% et entrez un onglet, la fonction de complétion des onglets d'IPython affichera la liste. Par exemple,% pwd affichera le répertoire courant. % qui affichera les espaces de noms d'instance valides.
hoge = "fuga"
%who
#=> hoge
De plus, les commandes commençant par! Sont transmises au shell sous forme de commandes shell.
Dans IPython, vous pouvez utiliser l'extension de pdb Debugger. La commande% debug débogue la dernière exception qui s'est produite. Vous pouvez définir la commande% pdb pour démarrer automatiquement le débogueur lorsqu'une exception se produit.
La documentation d'IPython (http://ipython.org/ipython-doc/2/interactive/reference.html#using-the-python-debugger-pdb) décrit également comment utiliser pdb.
Si vous définissez les fonctions set_trace () et debug () comme suit, vous pouvez écrire set_trace () n'importe où dans votre code pour arrêter l'exécution et démarrer le débogueur.
def set_trace():
from IPython.core.debugger import Pdb
Pdb(color_scheme='Linux').set_trace(sys._getframe().f_back)
def debug(f, *args, **kwargs):
from IPython.core.debugger import Pdb
pdb = Pdb(color_scheme='Linux')
return pdb.runcall(f, *args, **kwargs)
Vous pouvez également utiliser la fonction debug () pour lancer un débogueur interactif pour n'importe quelle fonction. Par exemple, l'exemple ci-dessous lance un débogueur interactif pour la fonction f.
Par exemple, dans cet état, appuyer sur a affichera une liste des arguments de la fonction actuelle, appuyer sur w affichera la trace de la pile à la position actuelle, appuyer sur s entrera en action et u / d augmentera ou abaissera la pile des appels de fonction. Je vais. Vous pouvez également afficher des variables, ajouter des opérations arbitraires, etc.
Un tel environnement interactif est si pratique et productif qu'une fois que vous apprenez à développer avec IPython, vous ne pouvez plus vous en passer. Il n'est pas exagéré de dire qu'IPython et votre éditeur préféré sont suffisants pour développer en Python.
Introduction à l'analyse de données avec Python http://www.oreilly.co.jp/books/9784873116556/
Recommended Posts