web-dev-qa-db-fra.com

Lancer ipython en exécutant un script

Mon cas d'utilisation est que je souhaite initialiser certaines fonctions d'un fichier puis démarrer ipython avec les fonctions définies. Est-il possible de faire quelque chose comme ipython --run_script = myscript.py?

52
johannix

Par les docs , c'est trivial:

Vous démarrez IPython avec la commande:

$ ipython [options] files

Si invoqué sans options, il exécute tous les fichiers listés dans séquence et vous laisse tomber dans le interprète tout en reconnaissant encore toutes les options que vous avez définies dans votre fichier ipythonrc. Ce comportement est différent du Python standard, qui Lorsque appelé comme python -i sera seulement exécuter un fichier et ignorer votre fichier configuration setup.

Donc, utilisez simplement ipython myfile.py... et vous voilà! -)

30
Alex Martelli

Dans les versions récentes d’ipython, vous devez ajouter l’option -i pour accéder ultérieurement à l’environnement interactif. Sans le -i, il exécute simplement le code dans myfile.py et retourne à l'invite.

$ ipython -i myfile.py
77
Maarten

De nos jours, vous pouvez utiliser le dossier de démarrage d’ipython, situé dans votre répertoire de base (C:\users\[nomutilisateur] \. Ipython sous Windows). Allez dans le profil par défaut et vous verrez un dossier de démarrage avec un fichier README. Il suffit de mettre tous les scripts Python dedans, ou si vous voulez des commandes ipython, mettez-les dans un fichier avec une extension .ipy. 

14
partofthething

Vous pouvez utiliser les profils ipython pour définir des scripts de démarrage à exécuter à chaque démarrage d’ipython. Une description complète des profils est donnée ici . Vous pouvez créer plusieurs profils avec différents fichiers de démarrage. 

En supposant que vous n’ayez besoin que d’un seul profil et que vous souhaitiez toujours utiliser les mêmes fichiers de démarrage à chaque démarrage d’ipython, vous pouvez simplement modifier le profil par défaut. Pour ce faire, commencez par trouver où se trouve votre répertoire de configuration ipython dans une session ipython.

In [1]: import IPython
In [2]: IPython.paths.get_ipython_dir() # As of IPython v4.0
In [3]: print(ipython_config_dir)
/home/johndoe/.config/ipython

Pour cet exemple, j'utilise Ubuntu Linux et le répertoire de configuration est dans /home/johndoe/.config/ipython, où johndoe est le nom d'utilisateur.

Le profil par défaut est dans le sous-répertoire profile_default. Mettez tous les scripts de départ dans profile_default/startup. Dans l'exemple ci-dessous, le chemin complet serait /home/johndoe/.config/ipython/profile_default/startup.

11
Caleb

Vous trouverez ci-dessous le cas où vous souhaitez que vos scripts de démarrage soient exécutés automatiquement à chaque utilisation d’ipython (au lieu d’avoir un script que vous devez spécifier chaque fois que vous exécutez ipython).

Pour les versions récentes (à savoir 5.1.0) d’ipython, placez un ou plusieurs scripts python que vous souhaitez exécuter dans le dossier IPYTHON_CONFIG_DIR/profile_PROFILENAME/startup.

Sous Linux, par exemple, vous pouvez insérer votre code de démarrage python dans un fichier nommé ~/.ipython/profile_default/startup/10-mystartupstuff.py si vous souhaitez qu'il s'exécute sans qu'aucun profil ipython ne soit spécifié.

Des informations sur la création et l'utilisation de profils ipython sont disponibles ici .

0
Mark

Mise à jour de la réponse de @ Caleb pour Python 3.5 dans Ubuntu 14.04: Cette réponse est autonome en copiant les parties pertinentes de la réponse de @ Caleb.

Vous pouvez utiliser les profils ipython pour définir des scripts de démarrage à exécuter à chaque démarrage d’ipython. Une description complète des profils est donnée ici . Vous pouvez créer plusieurs profils avec différents fichiers de démarrage. 

En supposant que vous n’ayez besoin que d’un seul profil et que vous souhaitiez toujours utiliser les mêmes fichiers de démarrage à chaque démarrage d’ipython, vous pouvez simplement modifier le profil par défaut. Pour ce faire, commencez par trouver où se trouve votre répertoire de configuration ipython dans une session ipython.

Contribution:

import IPython
ipython_config_dir = IPython.paths.get_ipython_dir()
print(ipython_cofig_dir)

Sortie:

/home/johndoe/.ipython

Pour cet exemple, johndoe est le nom d'utilisateur.

Dans le dossier /.ipython, le profil par défaut est situé dans le sous-répertoire profile_default. Placez tous les scripts de démarrage dans profile_default/startup. Dans l'exemple ci-dessous, le chemin complet serait 

/home/johndoe/.ipython/profile_default/startup 
0
Thej Kiran

Vous semblez rechercher la commande% run magic d'ipyhton.

En tapant ipython:

    %run hello_world.py

vous allez exécuter le programme hello.py enregistré dans votre répertoire personnel. Les fonctions et variables définies dans ce script vous seront également accessibles.

0
mpjan