Débuter avec ipython

Installation et utilisation

Comme le shell interactif python intégré, [IPython][2] est un shell REPL ([Read-Evaluate-Print Loop][3]), avec une variété de fonctionnalités qui le rendent plus agréable à utiliser au quotidien. développement Python actuel que le shell REPL intégré.

#Mise en place

Pour l’installer :

pip install ipython

Ou, via [Anaconda][4] :

# To install into the active environment:
$ conda install ipython 

# Or, to create a new environment with IPython installed:
$ conda create -n <env_name> ipython

Ou, via [Enought Canopy] [5] :

$ enpkg ipython

Utilisation

Après l’installation, exécutez-le en utilisant votre Python par défaut (2 ou 3) en utilisant :

ipython

Ou pour utiliser Python 3 :

ipython3

[![shell ipython][1]][1]

[1] : http://i.stack.imgur.com/rlKDr.png [2] : https://ipython.org/ [3] : https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop [4] : https://docs.continuum.io/ [5] : https://www.enought.com/products/canopy/

Obtenir de l’aide

?

Cela vous donne une introduction et un aperçu des fonctionnalités d’IPython.

object? 

Cela liste toutes les méthodes et tous les champs de l’objet et sa documentation (si elle existe).

object??

Comme ci-dessus, fournit encore plus de détails sur l’objet, en particulier va essayer de trouver et d’afficher le code source de l’objet.

object.<TAB Key>

TAB-complétion qui répertorie et parcourt les champs/méthodes disponibles d’un objet. En raison de la nature dynamique de Python, toutes les méthodes ne peuvent pas être découvertes de cette façon. Les méthodes privées (commençant par _) seront également masquées par défaut, insérez un _ et appuyez à nouveau sur TAB pour les afficher.

%quickref

Cela affiche une référence rapide pour le shell IPython.

IPython contre Jupyter

IPython comporte deux parties : une interface de ligne de commande qui remplace le REPL “python” par défaut et un moyen d’exécuter Python via le navigateur Web en tant qu’interface utilisateur graphique.

Avec les derniers développements, la partie navigateur a été scindée dans le projet Jupyter qui permet à plusieurs langages de programmation d’utiliser l’interface graphique. Il est toujours possible d’utiliser IPython comme noyau Python pour cela.

Des instructions de configuration à jour pour Jupyter sont disponibles dans [la documentation d’installation officielle] (http://jupyter.readthedocs.io/en/latest/install.html).

ipython, ou jupyter console, lorsqu’il est invoqué à partir de la ligne de commande sans aucun * autre * paramètre, entrera dans une session de terminal interactif comme ci-dessous : [![Console Jupyter][1]][1]

jupyter qtconsole, ou ipython qtconsole avant la version 5, démarrera une console basée sur QT à plusieurs onglets :

[![Console QT][2]][2]

jupyter notebook, ou ipython notebook avant la version 5, démarrera un serveur et ouvrira par défaut une page Web, à http://localhost:8888/tree, avec la vue “Accueil” du répertoire actuel. Cela vous permet d’ouvrir des notebooks existants ou de nouveaux noyaux dans plusieurs langues, selon celle que vous avez installée ; chacun sera ouvert dans un nouvel onglet du navigateur.

Les notebooks vous permettent de mélanger des démarques, y compris [MathJax][3], du code du noyau de votre choix, des tracés et des graphiques, des images et même des vidéos. [![Vue d’accueil][4]][4][![entrez la description de l’image ici][5]][5]

[1] : http://i.stack.imgur.com/nJdwJ.png [2] : http://i.stack.imgur.com/wnEst.png [3] : https://www.mathjax.org/ [4] : http://i.stack.imgur.com/U9gMx.png [5] : http://i.stack.imgur.com/aBUuo.png

Coller dans IPython

%paste

[![%coller démo][1]][1]

C’est la principale méthode magique pour coller. Il colle directement le texte du presse-papiers du système, gérant intelligemment les problèmes courants liés aux retours à la ligne et à l’indentation.

%cpaste

[![%cpaste démo][2]][2]

Si vous utilisez IPython via SSH, utilisez plutôt %cpaste, car il n’a pas besoin d’accéder au presse-papiers du système distant.

Depuis IPython 5.0.0, la boîte à outils d’invite améliorée devrait gérer directement le collage de code multiligne sans avoir besoin de %paste ou %cpaste.

[1] : http://i.stack.imgur.com/XRvdz.png [2] : http://i.stack.imgur.com/6SCzb.png

Stocker les variables sur IPython

%storemagic stocke les variables et les macros sur la base de données d’IPython. Pour restaurer automatiquement les variables stockées au démarrage, ajoutez ceci à ipython_config.py :

c.StoreMagic.autorestore = True

Exemple:

In [1]: l = ['hello',10,'world']
In [2]: %store l
In [3]: exit

(IPython session is closed and started again...)

[email protected]:~$ ipython
In [1]: l
Out[1]: ['hello', 10, 'world']

Noter:

Il convient de noter que si vous modifiez la valeur d’une variable, vous devez % la stocker à nouveau si vous souhaitez conserver la nouvelle valeur.

Notez également que les variables devront être pickleable ; la plupart des types de python de base peuvent être stockés en toute sécurité.