2016-04-22 3 views
1

hoffend kann jemand mir helfen. Ich folgte ein paar Anleitungen über die Einrichtung einer neuen Maschine für die Python-Entwicklung. (one) (two)os x, python, homebrew -> etwas komisches los

ich so ziemlich alles gefolgt, aber ich bin wirklich verwirrt über die Änderungen an meinem .bash_profile

Als ich export PATH=/usr/local/bin:$PATH in .bash_profile Kommentar und which python in Terminal-Typ, ich sehe, was ich erwarte.

which python 
/usr/local/bin/python 
python 
Python 2.7.11 (default, Jan 22 2016, 08:29:18) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 

Was in bash_profile geschieht, wie kommt es nicht, wenn ich alles egal Kommentar aus, speichern und die entsprechenden Befehle ausführen?

Noch wichtiger, wie bekomme ich zu meiner Standardinstallation von Python und stellen Sie sicher, dass es immer noch da und unberührt ist? Habe ich recht, wenn ich verstehe, dass die obige Version der von Homebrew installierte Python ist?

Antwort

0

.bash_profile ist nur lesbar, wenn die Bash-Shell geladen ist. Das Ändern dieser Datei nach dem Laden der Shell hat daher keine Auswirkungen. Um die Änderungen nach dem Ändern und Speichern der Datei anzuzeigen, müssen Sie die Shell neu starten oder source ~/.bash_profile ausführen.

Das Ändern der Umgebungsvariablen PATH hat keine Auswirkungen auf Python selbst. Es ändert nur, wo zuerst gesucht wird, um ausgeführt zu werden, wenn Sie python ... ausführen. Zum Beispiel, wenn Sie Python in /a/python und /b/python installiert haben, dann:

  • wenn Ihr PATH-/a/python:/b/python:$PATH gesetzt ist und Sie laufen python ....py tatsächlich die /a/python ....py ausgeführt wird;

  • wenn Ihr PATH ist auf /b/python:/a/python:$PATH und Sie laufen python ....py tatsächlich die /b/python ....py ausgeführt wird.

Wenn Sie nicht die PATH (z sondern so etwas wie export PATH=/usr/local/bin:$PATH in der Shell ausgeführt wird oder es zu .bash_profile Zugabe) geändert haben, dann which python Ausführung sollte den Standard-Python-Pfad zeigen.

In dem Fall, den Sie beschrieben haben, zeigt es Ihnen die Python, die Sie verwenden, indem Sie die PATH ändern. Um den Standard zu sehen, kommentieren Sie die export... Zeichenfolge, speichern Sie die .bash_profile Datei und führen Sie entweder source ~/.bash_profile oder starten Sie die Shell neu, und nur dann sehen Sie die which python Ausgabe.

+0

Danke für die Erklärung. Mein Problem ist, dass ich aus irgendeinem Grund nicht den Standard-Python-Pfad anzeigen kann. Ich habe die 'export'-Zeichenfolge kommentiert, gespeichert und Source ~/.bash_profile ausgeführt und sehe immer noch die neue Homebrew-Installation. Irgendwelche Ideen? –

+0

Ok, nachdem ich alles in .bash_profile kommentiert habe, kann ich den Standard-Python öffnen/'which python' erzeugt'/usr/bin/python'. Kann mir jemand jetzt die Best Practices zum Ändern von 'PATH' sagen, so dass Homebrew Python Standard ist? Ist es durch Bearbeiten von/etc/paths oder .bash_profile oder .bashrc? –

+0

@nrksj, es hängt ... Wenn Sie es systemweit ändern wollen - tun Sie es in '/ etc/environment', für alle Benutzer -'/etc/profile', für einzelne Benutzer - in '.profile' /' .bash_profile "in seinem Home-Verzeichnis (zB' ~/.profile'/'~/.bash_profile'). Fügen Sie in '/ etc/environment' einfach die' PATH'-Einstellung hinzu, in anderen Dateien fügen Sie 'export PATH =/new/path/part: $ PATH' hinzu.Wichtiger Hinweis: Viele Systemprogramme stützen sich auf systemweites Python, also z. Wenn System Python Python2 ist und Sie es in Python3 ändern, kann dies zu einem Systembruch führen. Je nachdem, was Sie zu erreichen versuchen, ist es am besten, für einzelne Benutzer zu ändern. – Nikita

Verwandte Themen