it-swarm.com.de

Wie führe ich Python-Code unter Sublime Text 2 aus?

Ich möchte einen vollständigen Python IDE in Sublime Text 2 einrichten.

Ich möchte wissen, wie der Python-Code im Editor ausgeführt wird. Wird das Build-System verwendet? Wie mache ich es ?

301
neo

Tools -> Build System -> (Wählen Sie) Python und dann:

Zu rennen:

      Tools -> Build

      -or-

      Ctrl + B

      CMD + B  (OSX)

Dies würde Ihre Datei in der Konsole starten, die sich unten im Editor befinden sollte.

Stoppen:

       Ctrl + Break or Tools -> Cancel Build

       Fn + C (OSX)

Wo sich Ihr Break-Schlüssel befindet, erfahren Sie hier: http://en.wikipedia.org/wiki/Break_key

Hinweis: CTRL + C wird NICHT funktionieren.

Was tun, wenn Ctrl + Break nicht funktioniert:

Gehe zu: 

Einstellungen -> Tastaturbelegung - Benutzer

und füge die folgende Zeile ein: 

{"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} } 

Jetzt können Sie ctrl+shift+c anstelle von CTRL+BREAK verwenden.

357
matiit

Speichern Sie Ihre Datei unter Mac OS X mit der Erweiterung .py. Drücken Sie  + B. Es läuft in einem Fenster darunter.

enter image description here

56
bobobobo

Bearbeiten Sie% APPDATA%\Sublime Text 2\Python\Python.sublime-build 

Inhalt ändern in:

{
    "cmd": ["C:\\python27\\python.exe", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

Ändern Sie den Teil "c:\python27" in eine beliebige Version von Python, die Sie in Ihrem System haben. 

55
ppy

Um auszuführen, drücken Sie CtrlB (Antwort mit matiit )

Aber wenn CtrlB  funktioniert nicht , Sublime Text kann den Python-Interpreter wahrscheinlich nicht finden. Wenn Sie versuchen, Ihr Programm auszuführen, lesen Sie das Protokoll und suchen Sie den Verweis auf Python im Pfad.

[cmd:  [u'python', u'-u', u'C:\\scripts\\test.py']]
[path: ...;C:\Python27 32bit;...]

Der Punkt ist, dass es versucht, Python über die Befehlszeile auszuführen, die cmd sieht so aus:

python -u C:\scripts\test.py

Wenn Sie Python nicht über cmd ausführen können, kann Sublime Text dies auch nicht.
(Probieren Sie es selbst in cmd aus, geben Sie python ein und führen Sie es aus. Die Python-Befehlszeile sollte erscheinen.)

LÖSUNG

Sie können entweder die Erhabener-Text-Erstellungsformel oder den System %PATH% ändern.

  • So legen Sie Ihren %PATH% fest:
    * Sie müssen Ihren Editor neu starten, um den neuen %PATH% zu laden.

    • Führen Sie die Befehlszeile * aus und geben Sie den folgenden Befehl ein: * muss als Administrator ausgeführt werden
      SETX /M PATH "%PATH%;<python_folder>"
      zum Beispiel: SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts"

    • ODER manuell: (bevorzugt)
      Fügen Sie am Ende der Zeichenfolge ;C:\Python27;C:\Python27\Scripts hinzu. Setting Path in Win7

  • Um den Pfad des Interpreters festzulegen, ohne mit System %PATH% in Konflikt zu geraten, lesen Sie diese Antwort mit ppy .

43
Qwerty

Sie können SublimeREPL verwenden (Sie müssen Package Control installiert haben).

9
invis

Wenn Sie Python 3.x verwenden, müssen Sie den Python3.sublime-build bearbeiten. 

(Einstellungen> Pakete durchsuchen> Python 3) 

so aussehen:

{
  "path": "/usr/local/bin",
  "cmd": ["python3", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python"
}
7
Daniel Romero

[Dies gilt für ST3 (Win), nicht sicher über ST2]

Gehen Sie folgendermaßen vor, um die Ausgabe in Sublime als eine andere Datei anzuzeigen (+ eine für Fehler):

  1. Erstellen Sie ein neues Build-System: Tools > Build Systems > New Build System...
  2. Verwenden Sie die folgende Konfiguration:
 
 {
 "cmd": ["python.exe", "$ file", "1>", "$ file_name .__ STDOUT __. txt", "2>" , "$ file_name .__ STDERR __. txt"], 
 "selector": "source.python", 
 "Shell": true, 
 "working_dir": "$ file_dir" 
} 
  1. Wählen Sie für Ihre Python-Datei die obige Build-System-Konfigurationsdatei aus: Tools > Build Systems > {your_new_build_system_filename}
  2. ctrl + b
  3. Nun, neben Ihrer Datei, z. "file.py" Sie haben "file.__STDOUT__.py" und "file.__STDERR__.py" (für eventuelle Fehler)
  4. Wenn Sie Ihr Fenster in 3 Spalten oder ein Raster aufteilen, sehen Sie das Ergebnis sofort, ohne dass Sie die Bedienfelder/Fenster wechseln müssen
4
ellockie

In python v3.x sollten Sie zu: Tools->Build System->New Build System gehen.

Dann wird das untitled.sublime-build-Fenster im Texteditor geöffnet. Geben Sie die Einstellung wie folgt ein:

{

    "cmd": ["path_to_the_python.exe","-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

Um den Pfad zu sehen, Type following in terminal as:

python
>>> import sys
>>>print(sys.executable)

Sie können mehr als ein Build-System erstellen, es sollte jedoch standardmäßig in Packages von Sublime-Text mit .sublime-build extension gespeichert werden.

Wählen Sie dann das neue Build System aus und drücken Sie cltr+b oder einen anderen, je nach Betriebssystem. 

2
susan097

Coole U-Leute, ich habe gerade das gefunden:

http://ptomato.wordpress.com/2012/02/09/geek-tip-running-python-guis-in-sublime-text-2/

Es erklärt (wie eine der obigen Antworten), wie dieser exec.py im Verzeichnis Standard bearbeitet wird.

Ich hatte das Problem, dass meine PYTHON UI APPLICATION nicht gestartet werden konnte. Ich habe die letzte Zeile aus dem folgenden Ausschnitt auskommentiert:

    # Hide the console window on Windows
    startupinfo = None
    if os.name == "nt":
        startupinfo = subprocess.STARTUPINFO()
        #startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

und, taaadaaaa, ich könnte meine App durch Drücken von Strg + B starten. Lustige Linie sowieso, äh? Und ein großes danke an alle, die diesen Artikel geschrieben haben ;-)

2
anhoppe

Ich habe dieses Problem gelöst:

> Preferences –> Browse Packages –> Default 

Öffnen Sie die exec.py-Datei in der Nähe der Zeile 41-42.

for k, v in proc_env.iteritems():
    proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())

dann löschen oder bearbeiten als:

try:    
    for k, v in proc_env.iteritems():
        proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
except:
    print 'foobar'
1
Rhea

Sie können auf die Python-Konsole über „Konsole anzeigen/anzeigen“ oder zugreifen Ctrl+`.

1
poke

Ich bin heute auf dasselbe Problem gestoßen. Und so habe ich es geschafft, Python-Code in Sublime Text 3 auszuführen:

  1. Drücken Sie Ctrl + B (für Mac,  + B), um das Build-System zu starten. Die Datei sollte jetzt ausgeführt werden.
  2. Folgen Sie diese Antwort , um zu verstehen, wie das Build-System angepasst wird.

Als nächstes müssen Sie den Inhalt in Python.sublime-build to ersetzen

{
    "cmd": ["/usr/local/bin/python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
}

Sie können es natürlich weiter an Ihre Bedürfnisse anpassen.

1
Huang Chao

Ich hatte das gleiche Problem. Sie haben die Datei wahrscheinlich noch nicht gespeichert. Stellen Sie sicher, dass Sie Ihren Code mit der Erweiterung .py speichern.

0
Onat

Verwenden Sie eine echte Python-Konsole neben Sublime

Sowohl das Erstellungssystem von Sublime als auch SublimeREPL (die Antworten oben) sind insofern eingeschränkt, als Sie nach dem Ausführen Ihrer Datei nicht einfach mit den Arbeitsbereichsvariablen interagieren können. 

Wenn Sie ein Skript ausführen möchten, arbeiten Sie auf REPL-ähnliche Weise (wie in einer IDE). Ich empfehle Ihnen, Sublime neben einer IPython-Konsole zu öffnen. Mit AutoHotKey (Windows) oder AutoKey (Linux) können Sie dies so einrichten, dass eine einzelne Verknüpfung den Dateinamen (oder nur den ausgewählten Code) kopiert und diesen in die Konsole einfügt, um die Datei auszuführen.

Detaillierte Anweisungen für Linux oder Windows

0
hugke729

Eine Bemerkung zum oben genannten build-System : Sie können benutzerdefinierte .sublime-build-Dateien oder sogar pro Projekt build_systems-Klausel (in Ihren Projekteinstellungen) schreiben (und diese verwenden). Auf diese Weise können Sie nützliche Funktionen ausführen, z. B. ein ausgefallener Testläufer mit ANSI-Farbausgabe .

Für noch mehr "volle IDE" -Funktionen können Sie das ausgezeichnete Paket " SublimePythonIDE " verwenden:

  • code-Vervollständigung (Intel)
  • zu Definition & Objektbeschreibung springen
  • richtige Fusseln/pep8
  • unterstützt verschiedene Interpreter mit Virtualenv

Offenlegung: Ich habe eine PR zu diesem Paket beigetragen, und ich benutze es ständig, aber dortsind- andere .

0
tutuDajuju