web-dev-qa-db-fra.com

Lancer le cahier IPython avec le navigateur sélectionné

J'essaie de démarrer IPython avec un navigateur autre que celui par défaut (dans mon cas, Firefox) Et je pensais pouvoir répliquer le script répliqué dans ce blog

Je suis sous Windows 7 

Je mets le code suivant dans un fichier dit "module.py"

import subprocess
subprocess.call("ipython notebook --no-browser", Shell=True)
subprocess.call([r'C:\Program Files (x86)\Mozilla Firefox\Firefox.exe', '-new-tab', 'http://127.0.0.1:8888/'])

Cependant, quand je le lance depuis la ligne de commande 

 python C:\Users\mugabal\Desktop\module1.py

Il exécute la première ligne mais pas la seconde (les deux lignes fonctionnent bien individuellement)

Ma question (dans un terme plus général) comment puis-je lancer un processus et lui dire de ne pas détourner de la fenêtre de la console? 

Je m'excuse par avance si j'ai supervisé une explication évidente, mais j'ai jeté un œil à la fois dans la documentation du sous-processus et sur cette plate-forme. 

----- METTRE À JOUR ----- 

J'aurais dû ajouter que j'avais essayé de lancer IPython avec le navigateur sélectionné mais que je ne pouvais pas comprendre comment le faire fonctionner 

>ipython notebook --browser='C:\Program Files (x86)\Mozilla Firefox\Firefox.exe'
... 
[NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8888/
...
**[NotebookApp] No web browser found: could not locate runnable browser.**

Pour être précis, la commande suivante dans une fenêtre d'invite de commande Windows fonctionne comme prévu:

start firefox 

mais 

ipython notebook --browser=firefox 

ne fonctionne pas (même erreur que ci-dessus).

41
user1043144

J'ai eu le même problème sur Windows et je l'ai obtenu de cette façon:

  • Créez un fichier de configuration avec la commande ipython profile create default

  • Éditez le fichier ipython_notebook_config.py, recherchez la ligne

#c.NotebookApp.browser =''

et le remplacer par

import webbrowser
webbrowser.register('firefox', None, webbrowser.GenericBrowser('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe'))
c.NotebookApp.browser = 'firefox'

alors cela fonctionne pour moi.

J'espère que cela vous aidera.

JPG

63
JPG

Sur mon Mac, j'ai reçu la commande suivante pour utiliser Firefox au lieu de mon Chrome par défaut: 

jupyter notebook --browser firefox
21
JBWhitmore

Pourquoi ne pas utiliser 

--browser=<Unicode> (NotebookApp.browser)
    Specify what command to use to invoke a web browser when opening the
    notebook. If not specified, the default browser will be determined by the
   `webbrowser` standard library module, which allows setting of the BROWSER
9
Matt

Ce n'est pas une vraie réponse. Je souhaite simplement partager avec les moins férus d’informatique la réponse de JPG, étape par étape. Vraisemblablement, dans l'Explorateur Windows (capture d'écran ci-dessous), le fichier jupyter_notebook_config.py est répertorié:

 enter image description here

Dans mon cas, le répertoire du fichier (dans le menu du haut de l'Explorateur) était C:\Users\My_name\.jupyter

La deuxième partie de la réponse peut être mise en œuvre simplement en collant:

import webbrowser
webbrowser.register('firefox', None, webbrowser.GenericBrowser('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe'))
c.NotebookApp.browser = 'firefox'

dans l'espace sur l'espace visible sur la capture d'écran ci-dessous, correspondant au jupyter_notebook_config.py ouvert dans PyCharm:

 enter image description here

... seulement que je l'ai configuré pour ouvrir dans Opera:

import webbrowser
webbrowser.register('opera', None, webbrowser.GenericBrowser('C:\\Program Files (x86)\\Opera\\launcher.exe'))
c.NotebookApp.browser = 'opera'
8
Toni

Je ne commente pas cette ligne et ne passe pas à False. Ne pas obliger ipython notebook à ouvrir un navigateur Web au début, afin que nous puissions indiquer l'adresse de ce dernier dans un navigateur Web actif.

# Whether to open in a browser after starting. The specific browser used is
# platform dependent and determined by the python standard library `webbrowser`
# module, unless it is overridden using the --browser (NotebookApp.browser)
# configuration option.
c.NotebookApp.open_browser = False

Mieux encore, je repère l'adresse dans Firefox pour l'activer à chaque fois que j'ouvre le navigateur.

4
mbendhel

J'ai défini la variable d'environnement BROWSER sur l'exécutable du navigateur (dans mon cas, Google Chrome), et Ipython Notebook a démarré dans le navigateur que j'ai aimé.

PS H:\> $env:BROWSER = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
PS H:\> $env:BROWSER
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
PS H:\>
PS H:\> ipython notebook
2015-02-19 14:05:01.690 [NotebookApp] Using existing profile dir: C:\\Users\\abc\\.ipython\\profile_default'
2015-02-19 14:05:01.832 [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js
2015-02-19 14:05:01.901 [NotebookApp] The port 8888 is already in use, trying another random port.
2015-02-19 14:05:01.908 [NotebookApp] Serving notebooks from local directory: H:\
2015-02-19 14:05:01.908 [NotebookApp] 0 active kernels
2015-02-19 14:05:01.910 [NotebookApp] The IPython Notebook is running at: http://localhost:8889/
2015-02-19 14:05:01.910 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
1
user1843683

J'ai essayé ce que JPG et Norfeldt ont suggéré. Cela fonctionnait parfaitement sur mon ordinateur Windows 7. Voici une copie de la section modifiée de ipython_notebook_config.py (située sous C:\Utilisateurs\'votre nom d'utilisateur' \. Ipython pour utiliser Safari en tant que navigateur par défaut pour le bloc-notes. Comme l'a dit norfeldt, notez le u avant 'C:\...)

# c.NotebookApp.certfile = u''

import webbrowser
webbrowser.register('safari', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Safari\\safari.exe'))
c.NotebookApp.browser = 'safari'
0
user3059413