2013-03-28 18 views
11

Ich benutze IPython Notebook und ich möchte Programme in einem externen Editor bearbeiten. Wie bekomme ich die %edit file_name.py um einen Editor wie Notepad ++ zu öffnen.Externer Editor für IPython Notebook

+0

die aktuellen Um zu überprüfen, Setzen Sie den Editor von IPython, führen Sie '% config TerminalInteractiveShell.editor' aus. – anishpatel

Antwort

12

Running %edit? gibt Ihnen die Hilfe für die %edit magische Funktion.

Sie müssen c.TerminalInteractiveShell.editor, die in Ihrem ipython_config.py ist. Ich bin mir nicht ganz sicher, wo das in Windows liegt; Unter OS X und Linux ist es in ~/.ipython. Sie sollten die Variable als den vollständigen Pfad des gewünschten Editors festlegen.

Alternativ können Sie in Windows selbst eine Umgebungsvariable EDITOR erstellen und diese auf den vollständigen Pfad des gewünschten Editors einstellen. iPython sollte das verwenden.

+1

Das funktioniert, aber nur um einen Kommentar hinzuzufügen: Um ipython_config.py zu bekommen, müssen Sie 'ipython profile create' zuerst ausführen –

6

Ich benutze Windows 7 und 8 (und 10TP) und Python 3.4.2.

Ich begann mit ipython locate, um mir zu sagen, wo ipython dachte, dass Konfigurationsdateien woanders vorgeschlagen werden sollten. Als ich sah, war es anders las ich um und kam mit dem Follow-up:

  • Auf meinem System, gab die ipython locate mir c:\users\osmith\.ipython, nicht die _ipython Sie in den YouTube-Videos erwähnt sehen mit Windows XP getan,
  • Suchen Sie im Verzeichnis ipython locate spezifiziert für ein Profilverzeichnis; wenn Sie nicht aktiv etwas mit ipython Profile zu tun, sollte es .ipython\profile_default sein, wenn Sie Profile verwenden, dann lasse ich es dir s/profile_default/$ {YOUR_PROFILE_NAME}/g
  • das profile_default Verzeichnis prüfen eine ipython_config.py Datei, wenn er nicht da ist, sagen IPython selbst zu initialisieren: ipython profile create
  • Öffnen Sie die Konfigurationsdatei in einem Texteditor,

wenn Sie die Art von Person, die um ihre Konsole nicht versaut hat Übermäßig viel und installiert Dinge in Standard-Orten, können Sie direkt zu diesem Schritt überspringen, indem Sie eingeben: ipython profile create gefolgt von start notepad .ipython\profile_default\ipython_config.py.

  • Suche nach der Zeichenfolge c.TerminalInteractiveShell.editor,
  • Der Kommentar darüber signalisiert, dass Sie auch den Umgebungsvariable EDITOR verwenden können, aber harte Kodierung Dateipfade nie jemand verletzt läßt so tun EET:
  • Kopieren Sie die Zeile und entfernen der führende Hash und Leerzeichen von der Kopie.
  • Ersetzen Sie den Text zwischen den Apostrophen ('notepad') durch den Pfad unseres gewünschten Editors, z.

    c.TerminalInteractiveShell.editor = 'c:/Programme (x86) /noddyeditor/noddy.exe'

Es gibt einen Haken hier, obwohl; Einige moderne Editoren werden etwas schick und automatisch und lösen sich, wenn sie so aufgerufen werden, von der Konsole ab. Notepad ++ und Sublime Text zum Beispiel.Sublime akzeptiert eine "--wait" -Option, die manchmal funktioniert; Dies weist den Befehlsaufruf an, solange zu warten, bis Sie die Datei schließen, für eine Definition von until und eine andere Definition von close.

jedoch die folgende Einstellung wird die meiste Zeit für sublimen Text arbeiten:

c.TerminalInteractiveShell.editor = '"c:/program files/sublime text 3/subl.exe" --wait' 

(unter der Annahme, c: \ program files \ ist, wo Ihr erhabenes Text 3 Verzeichnis ist)

+1

Danke für den Hinweis mit --wait! – maggie