Ihre Frage ist bereits drei Jahre alt und es gibt einige Details, die in anderen Antworten nicht behandelt werden:
Die meisten Leute, die ich kenne, verwenden HomeBrew oder MacPorts . Ich bevorzuge MacPorts, da die Standardumgebung für Mac OS X und mein Entwicklungssetup sauber sind. Verschieben Sie einfach Ihren Ordner / opt und testen Sie Ihre Pakete mit einer normalen Python-Benutzerumgebung
MacPorts ist nur innerhalb von Mac portierbar, aber mit easy_install oder pip lernen Sie, wie Sie Ihre Umgebung auf jeder Plattform (Win / Mac / Linux / Bsd ...) einrichten. Darüber hinaus wird es immer aktueller und mit mehr Paketen sein
Ich persönlich überlasse MacPorts meine Python-Module, um alles auf dem neuesten Stand zu halten. Wie jeder andere High-Level-Paketmanager (dh apt-get) ist es viel besser für das schwere Heben von Modulen mit vielen binären Abhängigkeiten. Ich würde meine Qt-Bindungen (PySide) auf keinen Fall mit easy_install oder pip erstellen. Qt ist riesig und erfordert viel Kompilierung. Versuchen Sie, easy_install oder pip zu vermeiden, sobald Sie ein Python-Paket benötigen, das eine Bibliothek benötigt, die von Nicht-Python-Programmen verwendet wird
Irgendwann werden Sie feststellen, dass in MacPorts einige Pakete fehlen. Ich glaube nicht, dass MacPorts Ihnen jemals den gesamten CheeseShop geben wird . Zum Beispiel brauchte ich kürzlich das Elixir- Modul, aber MacPorts bietet nur py25-Elixir und py26-Elixir an, keine py27-Version. In solchen Fällen haben Sie:
pip-2.7 installiere --user elixir
(Stellen Sie sicher, dass Sie immer pip- (Version) eingeben.)
Dadurch wird eine zusätzliche Python-Bibliothek in Ihrem Home-Verzeichnis erstellt. Ja, Python funktioniert mit mehr als einem Bibliotheksverzeichnis: einem von MacPorts gesteuerten und einem lokalen Benutzer für alles, was in MacPorts fehlt.
Beachten Sie jetzt, dass ich pip gegenüber easy_install bevorzuge. Es gibt einen guten Grund, warum Sie setuptools und easy_install vermeiden sollten. Hier ist eine gute Erklärung und ich versuche, mich von ihnen fernzuhalten. Eine sehr nützliche Funktion von pip besteht darin, Ihnen eine Liste aller Module (zusammen mit ihren Versionen) zu geben, die Sie mit MacPorts, easy_install und pip selbst installiert haben:
pip-2.7 einfrieren
Wenn Sie bereits mit easy_install begonnen haben, machen Sie sich keine Sorgen, pip kann alles erkennen, was bereits von easy_install erledigt wurde, und sogar die damit installierten Pakete aktualisieren.
Wenn Sie ein Entwickler sind, behalten Sie virtualenv im Auge, um verschiedene Setups und Kombinationen von Modulversionen zu steuern. Andere Antworten erwähnen es bereits. Was bisher nicht erwähnt wurde, ist das Tox- Modul, ein Tool zum Testen, ob Ihr Paket mit verschiedenen Python-Versionen korrekt installiert ist.
Obwohl ich normalerweise keine Versionskonflikte habe, möchte ich virtualenv haben, um eine saubere Umgebung einzurichten und einen klaren Überblick über meine Paketabhängigkeiten zu erhalten. Auf diese Weise vergesse ich nie irgendwelche Abhängigkeiten in meiner setup.py
Wenn Sie sich für MacPorts entscheiden, beachten Sie, dass mehrere Versionen desselben Pakets nicht mehr wie im alten Debian-Stil mit einem zusätzlichen python_select-Paket ausgewählt sind (es ist aus Kompatibilitätsgründen immer noch vorhanden). Jetzt haben Sie den Befehl select, mit dem Sie auswählen können, welche Python-Version verwendet werden soll (Sie können sogar die von Apple installierten auswählen):
$ port select python
Available versions for python:
none
python25-apple
python26-apple
python27 (active)
python27-apple
python32
$ port select python python32
Fügen Sie Tox hinzu und Ihre Programme sollten wirklich portabel sein