[PYTHON] Mac-Anwendung zum Öffnen von Jupyter Notebook (* .ipynb) durch Doppelklick

Überblick

Erstellen Sie eine Anwendung ** Jupyter Launcher.app **, um Jupyter Notebook (\ * .ipynb) zu öffnen, indem Sie mit Automator auf dem Mac doppelklicken. Basierend auf der ursprünglichen Idee von buq (Öffnen Sie die Ipython-Notizbuchdatei durch Doppelklick auf @ OS X) persönlich Nehmen Sie einige Änderungen an den Funktionen vor, die Sie hinzufügen möchten. Ich schreibe es in Python um.

dock_screenshot.png

Zusätzliche Funktionen und Änderungen

Kleinere Verbesserungen

Erstellungsverfahren

  1. Starten Sie Automator.app, wählen Sie ** Neue Anwendung ** und beginnen Sie mit der Erstellung
  2. Wählen Sie unter Aktionen die Option ** Shell-Skript ausführen ** aus
  3. Wählen Sie ** / usr / bin / python ** als Shell aus
  4. Wählen Sie ** als Argument für die Eingabeübergabemethode
  5. Geben Sie das folgende Python-Skript in das Fenster ein
  6. Speichern Sie als Jupyter Launcher.app in / Applications
  7. Stellen Sie das Symbol nach Ihren Wünschen ein und vervollständigen Sie es

automator_screenshot.png

Python-Skript

** 2017.01.14: ** Aktualisiertes Skript (keine funktionalen Änderungen)

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

Mac-Anwendung zum Öffnen von Jupyter Notebook (* .ipynb) durch Doppelklick
Konvertieren Sie die JPYTER-Notebook-IPynb-Datei in die ausführbare Python-Py-Datei
Doppelklicken Sie, um die ipynb-Datei zu öffnen (Mac, virtuelle Anaconda-Umgebung).
Neben Excel jupyter Notebook vorerst
Tastenkombination für Jupyter-Notebook
Einführung des Jupyter Notebook in CentOS7
So verwenden Sie Jupyter Notebook
So sehen Sie den Inhalt der ipynb-Datei des Jupyter-Notizbuchs
Snippet-Einstellungen für Python Jupyter Notebook
Jupyter Notebook unerlässlich für die Softwareentwicklung
Generieren Sie das Jupyter-Notizbuch ".ipynb" in Python
Installieren Sie Anaconda auf Ihrem Mac und laden Sie Ihr Jupyter (IPython) -Notebook in die Anaconda Cloud hoch
Einfach zu bedienendes Jupyter-Notebook (Python3.5)
Versuchen Sie, Jupyter Notebook auf einem Mac auszuführen
Geben Sie den Browser an, der mit Jupyter Notebook verwendet werden soll. Besonders Mac. (Und Vivaldi)
Ermöglichen Sie Jupyter Notebook, Audiodaten zur Wiedergabe in HTML-Tabellen einzubetten
Ich möchte ein Bild auf Jupyter Notebook mit OpenCV (Mac) anzeigen.
Jupyter Notebook-Erweiterung, nbextensions-Einstellungen für mich
Ich möchte einen Blog mit Jupyter Notebook schreiben
So führen Sie Befehle mit einem Jupyter-Notebook aus
Verwendung des Jupyter-Notebooks mit ABCI
Jupyter Notebook Grundlagen der Verwendung
Verwendung des Jupyter-Notebooks [super basic]
Installieren Sie Jupyter Notebook und stellen Sie es so ein, dass eine Umgebung zum Erstellen von Studiennotizen erstellt wird [Mac]
Eine Bibliothek für Datenwissenschaft "Ich möchte das tun" auf dem Jupyter Notebook
So debuggen Sie mit Jupyter oder iPython Notebook
[Jupyter Notebook / Lab] Drei Möglichkeiten zum Debuggen auf Jupyter [Pdb]
Datenanalyse zur Verbesserung von POG 2 ~ Analyse mit Jupiter-Notebook ~
Warten Sie, bis sich in Selen ein weiteres Fenster öffnet
[Einführung in die Udemy Python3 + -Anwendung] 43. for else-Anweisung
Jupyter Notebook-Einstellungen - Verwendung (EC2 Amazon Linux 2)
Datei zum Schreiben von About sudo kann nicht geöffnet werden
Öffnen Sie das auf dem Server gestartete Jupyter-Notizbuch aus der Ferne
Jupyter Notebook beginnt nicht mit Fisch auf dem Mac
Was tun, wenn Ihr Jupyter-Notizbuch für Anfänger nach einem Passwort oder Token fragt?