Lancement du bloc-notes IPython avec le navigateur sélectionné
j'essaie de lancer IPython avec un navigateur non par défaut (dans mon cas Firefox) et j'ai pensé que je pourrais répliquer la réplique du script donné dans ce blog
je suis sur Windows 7
j'ai mis 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 FirefoxFirefox.exe', '-new-tab', 'http://127.0.0.1:8888/'])
Cependant quand je le lance depuis la ligne de commande
python C:UsersmugabalDesktopmodule1.py
il exécute la première ligne mais pas la deuxième (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 highjacker la fenêtre de la console?
Je m'excuse à l'avance si j'ai supervisé une explication évidente mais j'ai regardé à la fois dans la documentation du sous-processus et sur cette plate-forme
----- mise à JOUR -----
j'aurais dû ajouter que j'ai essayé de lancer IPython avec un navigateur sélectionné mais que je n'ai pas trouvé comment le faire fonctionner
>ipython notebook --browser='C:Program Files (x86)Mozilla FirefoxFirefox.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 commandes Windows fonctionne comme prévu:
start firefox
mais
ipython notebook --browser=firefox
ne fonctionne pas (même erreur que ci-dessus).
8 réponses
j'ai eu le même problème sur windows et il a obtenu de cette façon:
Créer un fichier de configuration avec la commande
ipython profile create default
Modifier ipython_notebook_config.py fichier, 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 ça marche pour moi.
j'Espère qu'il vous aidera.
JPG
sur mon mac, j'ai la commande suivante pour utiliser Firefox au lieu de mon Chrome par défaut:
jupyter notebook --browser firefox
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
Ce n'est pas une vraie réponse. Je veux juste partager avec ceux qui connaissent moins l'ordinateur ce que la réponse de JPG ressemble à une étape par étape. Vraisemblablement, sur Windows Explorer (capture d'écran ci-dessous), le fichier jupyter_notebook_config.py
est indiqué:
dans mon cas, le répertoire du fichier (dans le menu supérieur de L'explorateur) était C:\Users\My_name\.jupyter
la seconde partie de la réponse peut être implémentée en collant simplement:
import webbrowser
webbrowser.register('firefox', None, webbrowser.GenericBrowser('C:\Program Files (x86)\Mozilla Firefox\firefox.exe'))
c.NotebookApp.browser = 'firefox'
dans l'espace l'Espace vu sur la capture d'écran ci-dessous, correspondant au jupyter_notebook_config.py
ouvert au sein de PyCharm:
... seulement que je l'ai configuré pour ouvrir à l'Opéra:
import webbrowser
webbrowser.register('opera', None, webbrowser.GenericBrowser('C:\Program Files (x86)\Opera\launcher.exe'))
c.NotebookApp.browser = 'opera'
Je décommente cette ligne et je change en False, pour ne pas faire ouvrir le notebook d'ipython un navigateur Web au début, de sorte que nous pouvons pointer l'adresse du notebook d'ipython 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, j'épingle l'adresse dans mon Firefox pour la rendre active à chaque fois que j'ouvre le navigateur.
j'ai paramétré la variable D'environnement BROWSER sur l'exécutable du navigateur (dans mon cas Google Chrome), et IPython Notebook a commencé 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).
j'ai essayé ce que JPG et norfeldt ont suggéré. Cela a parfaitement fonctionné sur mon ordinateur Windows 7. Voici une copie de la section modifiée de ipython_notebook_config.py (situé sous C:\Users\ 'votre nom d'utilisateur'\.ipython pour utiliser Safari comme navigateur par défaut pour notebook. Comme l'a dit norfeldt, veuillez noter 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'
sans codage, vous pouvez simplement configurer votre navigateur par défaut pour Chrome ou Firefox, etc. Ça marche pour mon système windows.