Python-Pakete an einem falschen Ort nach der Installation von Homebrew Python?

8

Nach der Installation von Homebrews Python auf einem System mit einem etablierten Apple Python sind die letzten Einträge, die von sys.path mit Homebrews Python aufgelistet werden,

%Vor%

Dies ist die Umkehrung der Reihenfolge, die ich erwarte. Sollten die Homebrew-Pakete nicht zuerst durchsucht werden? (In der Tat, sollte es nicht sein, dass der einzige Ort gesucht wird?) Das ist, was impliziert in der Dokumentation . Wo ist es eingestellt und wie kann ich es ändern (oder soll ich es ändern)?

Oder soll Brewed Python funktionieren? Ist es so konzipiert, doppelte Pakete zu verhindern und davon auszugehen, dass jedes Paket im System site-packages dort bleiben soll, es sei denn, es wird explizit deinstalliert und anschließend installiert (in Brews); mit Ausnahme von pip und setuptools , die sind dupliziert (und zuerst in Brewed Pythons Pfad).

    
orome 14.01.2015, 21:16
quelle

1 Antwort

9

Das ist das beabsichtigte Verhalten. Der Grund dafür ist, dass Sie Ihre alten installierten Module weiterhin verwenden können, obwohl Sie jetzt ein neues selbst entwickeltes Python verwenden.

Nun hat das einige Nachteile, zum Beispiel einige Bibliotheken wie numpy, funktionieren nicht in verschiedenen Python-Versionen. Wenn Sie also numpy installiert haben, wird es aus dem site-packages des alten Systems importiert und funktioniert nicht.

Es gibt mindestens zwei Möglichkeiten, sys.path zu ändern:

Verwenden Sie eine .pth -Datei:

Python wählt das aus einigen der eingebauten Speicherorte aus (zB: ~ / Library / Python / 2.7 / lib / python / site-packages / homebrew.pth). Dies hängt an sys.path an, was nicht ideal ist, hat aber den Vorteil, dass es nicht von Python 3 ausgewählt wird. Es ist momentan das empfohlene Methode . Dies erreichen Sie mit:

%Vor%

PYTHONPATH setzen:

Dies wird an sys.path vorangestellt, es hat den Nachteil, dass es für alle Python-Versionen global ist, daher wird es nicht empfohlen, wenn Sie verschiedene Python-Versionen verwenden. Du kannst es tun, indem du zu deinem .bash_profile hinzufügst:

%Vor%

Ich persönlich habe Option 2 mit Homebrew-Python benutzt (ich benutze und empfehle jetzt Anaconda). Meine Gründe waren, dass ich mich zu der Zeit nicht für System Python oder Python 3 interessierte.

    
elyase 14.01.2015, 21:27
quelle

Tags und Links