[PYTHON] Application Mac pour ouvrir Jupyter Notebook (* .ipynb) en double-cliquant

Aperçu

Créez une application ** Jupyter Launcher.app ** pour ouvrir Jupyter Notebook (\ * .ipynb) en double-cliquant à l'aide d'Automator sur Mac. Basé sur l'idée originale de buq (Ouvrir le fichier notebook ipython en double-cliquant sur @ OS X), personnellement Apportez des modifications aux fonctionnalités que vous souhaitez ajouter. Je le réécris en Python.

dock_screenshot.png

Fonctionnalités et modifications supplémentaires

Améliorations mineures

Procédure de création

  1. Démarrez Automator.app, sélectionnez ** Nouvelle application ** et commencez à créer
  2. Sélectionnez ** Exécuter le script Shell ** dans Actions
  3. Sélectionnez ** / usr / bin / python ** comme shell
  4. Sélectionnez ** comme argument pour la méthode de transmission d'entrée
  5. Entrez le script Python suivant dans la fenêtre
  6. Enregistrer sous Jupyter Launcher.app dans / Applications
  7. Définissez l'icône comme vous le souhaitez et terminez

automator_screenshot.png

Script Python

** 14.01.2017: ** Script mis à jour (aucun changement fonctionnel)

jupyter_launcher.py


# coding: utf-8

"""Script for the Jupyter Launcher Application."""

import os
import sys
import time
import webbrowser
from subprocess import Popen, PIPE


def listened(port):
    """Check if the spacified port is listened or not."""
    cmd = "lsof -i :{} | grep 'LISTEN'"
    proc = Popen(cmd.format(port), stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
    return bool(proc.communicate()[0])


def launch_jupyter(port):
    """Launch a Jupyter Notebook Server with the spacified port."""
    cmd = "bash -cl 'jupyter-notebook ~/ --port={} --no-browser &' > /dev/null 2>&1"
    proc = Popen(cmd.format(port), stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
    proc.communicate()


if __name__ == '__main__':
    PORT = 8888
    ipynbs = sys.argv[1:]

    if not listened(PORT):
        launch_jupyter(PORT)

    while not listened(PORT):
        time.sleep(0.5)

    if ipynbs:
        for ipynb in ipynbs:
            url = 'http://localhost:{}/notebooks/{}'
            path = os.path.relpath(ipynb, os.environ['HOME'])
            webbrowser.open(url.format(PORT, path))
    else:
        url = 'http://localhost:{}/tree'
        webbrowser.open(url.format(PORT))

References

Recommended Posts

Application Mac pour ouvrir Jupyter Notebook (* .ipynb) en double-cliquant
Convertir le fichier .ipynb du notebook jupyter en fichier .py exécutable python
Double-cliquez pour ouvrir le fichier ipynb (Mac, environnement virtuel Anaconda)
À côté d'Excel, le notebook Jupyter pour le moment
Touche de raccourci pour le bloc-notes Jupyter
Introduction de Jupyter Notebook dans CentOS7
Comment utiliser Jupyter Notebook
Comment voir le contenu du fichier ipynb du notebook Jupyter
Paramètres d'extrait de code pour le notebook jupyter python
Jupyter Notebook indispensable au développement de logiciels
Générer le notebook Jupyter ".ipynb" en Python
Installez Anaconda sur votre Mac et téléchargez votre notebook Jupyter (IPython) sur Anaconda Cloud
Bloc-notes Jupyter facile à utiliser (Python3.5)
Essayez d'exécuter Jupyter Notebook sur Mac
Spécifiez le navigateur à utiliser avec Jupyter Notebook. Surtout Mac. (Et Vivaldi)
Autoriser Jupyter Notebook à incorporer des données audio dans des tableaux HTML pour la lecture
Je souhaite afficher une image sur Jupyter Notebook à l'aide d'OpenCV (mac)
Extension Jupyter Notebook, paramètres nbextensions pour moi-même
Je veux écrire un blog avec Jupyter Notebook
Comment exécuter des commandes avec Jupyter Notebook
Comment utiliser le notebook Jupyter avec ABCI
Jupyter Notebook Principes d'utilisation
Comment utiliser le bloc-notes Jupyter [super basique]
Installer et configurer Jupyter Notebook pour créer un environnement de création de notes d'étude [Mac]
Une bibliothèque pour la science des données "Je veux faire ça" sur le bloc-notes Jupyter
Comment déboguer avec Jupyter ou iPython Notebook
[Jupyter Notebook / Lab] Trois méthodes de débogage sur Jupyter [Pdb]
Analyse des données pour améliorer POG 2 ~ Analyse avec le notebook jupyter ~
Attendez qu'une autre fenêtre s'ouvre dans Selenium
[Introduction à l'application Udemy Python3 +] 43. instruction for else
Paramètres de Jupyter Notebook - Comment utiliser (EC2 Amazon Linux 2)
Impossible d'ouvrir le fichier pour écrire à propos de sudo
Notebook Jupyter ouvert à distance lancé sur le serveur
jupyter notebook ne commence pas par fish sur mac
Que faire si votre Jupyter Notebook pour les débutants demande un mot de passe ou un jeton