Wie richte ich Python 3.3 und Sublime Text 2 unter OS X 10.8.2 richtig ein?

Ich versuche, Sublime Text 2 so einzurichten, dass der Build-Befehl Python3/Python3.3-Skripte korrekt ausführt.

Ich habe Python 3.3 über das Installationsprogramm von python.org installiert und Sublime Text 2 über das Installationsprogramm von Sublime Text 2 installiert.

Anschließend fügte ich einen benutzerdefinierten Build-Eintrag mit dem Namen hinzu:

Python3.sublime-build 

in den Python-Ordner von Sublime Text 2 mit folgendem Inhalt:

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

Beim Versuch, das Skript auszuführen, erhalte ich die folgende Fehlermeldung:

[Errno 2] No such file or directory
[cmd:  [u'python3', u'-u', u'/Users/user/Library/Application Support/Sublime Text 2/Packages/Python/Python3.sublime-build']]
[dir:  /Users/user/Library/Application Support/Sublime Text 2/Packages/Python]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]

Ich habe irgendwo gelesen, dass Symlinkng python3von /usr/bindas Problem beheben könnte, aber nach dem Erstellen des Symlinks über den /usr/binFinder kann Sublime Text immer noch nicht erstellt werden, da es einen Berechtigungsfehler erhält.

Was ist der beste Weg, um Sublime Text 2 so einzurichten, dass Python3-Skripte ausgeführt werden können?

[bearbeiten]

Wenn ich den PATH für den von install generierten python3-Simlink platziere, kann Sublime Text 2 das Skript erstellen.

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

Aber als ich versuchte, den PATH wie empfohlen ohne den definierten PATH zur ~/.MacOSX/environment.plist hinzuzufügen, erhalte ich den Fehler. Könnte jemand darauf hinweisen, warum dies nicht funktioniert?

Meinen Sie das Erstellen von Python 3 - das bedeutet normalerweise, die Quellen zu erhalten und die ausführbare Python-Datei zu erstellen? Ich denke, Sie meinen, Python 3 zu verwenden, dh ein .py-Skript über eine ausführbare Python3-Datei auszuführen
Ja, ich meine, den Build-Befehl für ein Python-Skript in SublimeText2 auszuführen, das Python nicht erstellt - wird zur Verdeutlichung bearbeitet.
Vielen Dank für die Bearbeitung in den Codeblöcken, die erste Frage, die ich gestellt habe, muss ich mir beim nächsten Mal merken.

Antworten (4)

Fügen Sie "path": "/Library/Frameworks/Python.framework/Versions/3.3/bin/"Ihrer Python3-Build-Datei hinzu. Meine sieht so aus:

{
    "cmd": ["python3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "utf8",
    "path": "/Library/Frameworks/Python.framework/Versions/3.3/bin/"
}

Hinweis: Stellen Sie sicher, dass der Pfad zu Python3 relativ zu Ihrem Computer ist - das galt für meinen

Ich mache dasselbe mit der Zeile "cmd": ["usr/local/bin/python3", "-u", "$file"] und suche wirklich nach einer Lösung, damit OSX die Beinarbeit für mich erledigt.
@markfknight versuchen Sie es $(which python)in der Build-Datei.

Ich habe python3 den vollständigen Pfad gegeben, damit dies funktioniert:

{
  "cmd" : ["/usr/local/bin/python3", "-u", "$file"],
}
Das war der Trick für mich.

Das Problem ist das normale OSX-Problem, dass GUI-Anwendungen Ihre Shell-Profile usw. nicht lesen und daher nur den Pfad vom Arbeitsbereich geerbt haben.

Um dies zu beheben, fügen Sie den Pfad in ~/.MacOSX/environment.plist hinzu

Das heißt, fügen Sie ein Schlüsselzeichenfolgenpaar für PATH hinzu, z

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

  <key>PATH</key>
  <string>/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/libexec/binutils:</string>
</dict>
</plist>

Sie müssen sich abmelden und anmelden oder möglicherweise neu starten, damit dies funktioniert.

Ordner und Datei erstellt, bevor das Schlüsselzeichenfolgenpaar hinzugefügt wurde, leider erhalte ich immer noch den Fehler. muss ich den Pfad von Pyhton3 auch zur Binärdatei hinzufügen?
Was zeigt jetzt die Pfadausgabe in SublimeText?
die Pfadausgabe zeigt immer noch [Pfad: /usr/bin:/bin:/usr/sbin:/sbin]
Ich habe <Key>PATH<Key> und den folgenden <String>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:<String> zu ~/.MacOSX/environment hinzugefügt. plist, Herunterfahren und Hochfahren, immer noch diese Meldung. Wenn ich in der Python3.sublime-build-Datei direkt auf /usr/local/bin/python3 verlinke, werden die Builds ohne Probleme erstellt. Können Sie weiter helfen?
Das Hinzufügen zum Sublime-Build ist wahrscheinlich am besten

Die Schwesterseite stackoverflow enthält einige Einträge mit Erläuterungen zum Problem der Einstellung von PATH-Umgebungsvariablen für GUI-basierte Anwendungen. Einige behaupten, dass environment.plist funktioniert und andere behaupten, dass dies nicht der Fall ist, und empfehlen die Verwendung von launched.conf.

Mac OS X Lion erkennt die Datei "environment.plist" , "Environment variables" in Mac OS X und "Set environment variables" in Mac OS X Lion nicht mehr . Diese Antwort enthält auch weitere Details zum Format „launched.conf“.

Habe beides bei meinen Recherchen ohne Erfolg ausprobiert.