Wie kann ich die Standard-Python-Installation aktualisieren / meinen $ PATH unter Mac OS X 10.6.7 reparieren?

8

Ich weiß, dass diese Frage bereits auf dieser Website gestellt wurde, und ich habe ein paar wertvolle Diskussionen gefunden, aber die Lösungen, die ich gefunden und ausprobiert habe, funktionieren nicht. Ich möchte Python lernen und habe Probleme, es auf meinem Mac richtig einzurichten. Ich verwende OS X 10.6.7.

Ich habe das Python 3.2-Installationsprogramm von python.org heruntergeladen und es installiert, das auf installiert wurde /Library/Frameworks/Python.framework/Versions/3.2/bin. Dies ist in Ordnung für den Moment, da ich IDLE einfach zum Entwickeln verwenden kann. Um 3.2 über die Befehlszeile mit zu verwenden, habe pythonich versucht, meine $PATHVariable neu anzuordnen . So ~/.profilesieht es aus:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

pythonStartet jedoch noch 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Nachdem ich eine Weile damit zu kämpfen hatte, beschloss ich, 3.2 einfach zu deinstallieren und zu versuchen, die Systeminstallation von Python zu aktualisieren. Ich bin mir nicht sicher, wie ich das richtig machen soll, daher muss entweder 3.2 mit der Kommandozeile funktionieren oder ich aktualisiere 2.6.1.

Steven Zezulak
quelle

Antworten:

5

Ich habe dieses Problem gerade gelöst, indem ich Python 3.2.2 auf meinem Mac OS X Lion installiert habe. Ich dachte, ich würde posten, wie ich es gemacht habe, in der Hoffnung, dass es jemand hilfreich finden könnte.

Erstens stimme ich shadesandcolour darin zu, dass Sie die mit Ihrem Mac gelieferte Standardkopie von Python nicht ändern sollten, da es Skripts geben kann, die möglicherweise nicht ordnungsgemäß funktionieren, wenn Sie den Python 3.0+ -Interpreter verwenden. Having said that, dass die neuesten Python (3.2.2 zum Zeitpunkt dieser Veröffentlichung) zu installieren, sollten Sie zuerst herunterladen das Python - Installationsprogramm von der offiziellen Website. Wie gewohnt installieren. Führen Sie die Datei "Update Shell Profile.command" im Ordner "/ Applications / Python (ver)" aus.

Nach der Installation von Python müssen Sie Ihren Pfad bearbeiten, indem Sie in der Befehlszeile "sudo nano / etc / arrows" eingeben. Geben Sie anschließend Ihr Passwort ein, wenn Sie dazu aufgefordert werden. Als nächstes einfach die Zeile "/ usr / local / bin" ausschneiden und "einfügen", BEVOR "/ usr / bin" auftritt. Speichern Sie die Datei, schließen Sie alle offenen Terminals und führen Sie eine neue Terminalinstanz aus. Wenn Sie nun "python" in die Befehlszeile eingeben, durchsucht die Shell zuerst / usr / local / bin und führt die neueste Python-Kopie aus.

Lichtchemiker
quelle
+1, seitdem ich den ganzen Tag versucht habe, das herauszufinden. Unter Snow Leopard funktioniert die /etc/pathvon Ihnen vorgeschlagene Bearbeitung in der Tat einwandfrei , wenn die Einstellung von PATH in Ihrer Shell-Konfiguration nicht funktioniert . Für mich bestand das Problem darin, dass sowohl Grafik- als auch Terminal-Emacs erkannten, dass ich eine benutzerdefinierte Python-Installation verwenden wollte. Danke für den Tipp!
jrhorn424
das hat funktioniert wenn ich auch cd /usr/local/binund cp python3.7 pythonmein terminal neu gestartet habe.
Openwonk
1

Aus meiner Erfahrung ist die Verwendung von Symlinks zusammen mit einem ordnungsgemäß geordneten Pfad die Möglichkeit, mehrere Versionen von Python in OS X oder einem anderen Nix nebeneinander zu haben, das mir einfällt. OS X ist nur ein bisschen doof, aber es funktioniert genauso.

Holen Sie sich zuerst das vollständige Bild, indem Sie die folgenden Befehle ausführen:

which python

Dann:

ls -la /usr/bin/python*

und vergleichen mit:

ls -la /usr/local/bin/python*

Sehen Sie, wohin die Symlinks zeigen.

Basierend auf dem von Ihnen geposteten Pfad, da / usr / bin hinter / usr / local / bin und den anderen steht, verwenden Sie wahrscheinlich den System-Python-Interpreter:

/usr/bin/python

Wenn Sie python3.0 installiert haben, wird es wahrscheinlich ausgeführt als:

/usr/local/bin/python

Nachdem Sie wissen, was wohin zeigt und welcher Interpreter aus dem PATH geladen wird, können Sie die entsprechenden Änderungen am PATH und / oder den Symlinks vornehmen. Sie können dann dieselben Techniken anwenden, um die richtigen Änderungen zu bestätigen.

Weitere Informationen zur Python-Installation unter macOS finden Sie unter python3 und farmdev .

Somantra
quelle
/usr/local/bin/pythonexistiert nicht, /usr/local/bin/python3tut es aber . python3 --versiongibt meine install (3.2). Kann ich diesen Symlink einfach umbenennen, pythondamit ich die 3 nicht eingeben muss?
Steven Zezulak
Wenn Ihr PFAD korrekt geordnet ist (/ usr / local / bin steht hinter / usr / bin), können Sie einfach einen Symlink erstellen, der dies tut.
Somantra
1
Wenn jedoch / usr / bin nach / usr / local / bin steht, wird das Systempython (/ usr / bin / python) weiterhin geladen.
Somantra
0

Wenn Sie Python über MacPorts installieren, wird möglicherweise die Systemversion aktualisiert. Ich vermute eigentlich nicht, da mir das irgendwie riskant erscheint. Möglicherweise möchten Sie jedoch überprüfen, was MacPorts macht, wenn Sie Python damit installieren.

James T Snell
quelle
0

Ich habe bereits jemandem diese Frage gestellt und mir wurde davon abgeraten, die Standardversion von Python zu ändern, da Teile des Betriebs davon abhängen können, in welcher Version 2.7 es sich befindet. Davon abgesehen ist es nicht so viel Arbeit, den Befehl python3 in Ihren Pfad einzufügen. Das mache ich gerade und es scheint in Ordnung zu sein.

bringel
quelle