あなたの質問はすでに3年前のものであり、他の回答ではカバーされていない詳細がいくつかあります。
私が知っているほとんどの人はHomeBrewまたはMacPortsを使用しています。デフォルトのMac OS X環境と私の開発設定を明確に示しているため、MacPortsを好みます。/ optフォルダーを移動して、通常のユーザーPython環境でパッケージをテストするだけです
MacPortsはMac内でのみ移植可能ですが、easy_installまたはpipを使用して、任意のプラットフォーム(Win / Mac / Linux / Bsd ...)で環境をセットアップする方法を学習します。さらに、それは常により最新でより多くのパッケージになります
私は個人的にMacPortsに私のPythonモジュールを処理させ、すべてを最新の状態に保ちます。他の高レベルのパッケージマネージャー(例:apt-get)と同様に、多くのバイナリ依存関係があるモジュールを大幅に持ち上げる場合に適しています。easy_installまたはpipを使用してQtバインディング(PySide)を構築する方法はありません。Qtは巨大で、コンパイルに多くの時間がかかります。Python以外のプログラムで使用されるライブラリを必要とするPythonパッケージが必要な場合は、easy_installまたはpipを避けてください。
ある時点で、MacPorts内にいくつかのパッケージが欠落していることがわかります。MacPortsがあなたにCheeseShop全体を与えるとは私は信じていません。たとえば、最近Elixirモジュールが必要になりましたが、MacPortsはpy25-elixirとpy26-elixirのみを提供しており、py27バージョンは提供していません。このような場合には、次のことが起こります。
pip-2.7 install --user elixir
(必ずpip-(version)と入力してください)
これにより、ホームディレクトリに追加のPythonライブラリが構築されます。はい、Pythonは複数のライブラリの場所で動作します。MacPortsによって制御される場所と、MacPorts内にないすべてのものに対してユーザーローカルな場所です。
今度は、easy_installよりもpipを優先することに注意してください。setuptoolsとeasy_installを避けるべき正当な理由があります。ここに良い説明があり、私はそれらから遠ざけるようにしています。pipの非常に便利な機能の1つは、MacPorts、easy_install、およびpip自体を使用してインストールしたすべてのモジュールのリストを(バージョンに応じて)提供することです。
pip-2.7フリーズ
既にeasy_installの使用を開始している場合でも、心配しないでください。pipは、easy_installによってすでに行われたすべてを認識し、それとともにインストールされたパッケージをアップグレードすることさえできます。
開発者は、virtualenvを監視して、さまざまな設定やモジュールバージョンの組み合わせを制御してください。他の回答はすでにそれを言及しています、これまで述べられていないのはToxですますパッケージがさまざまなPythonバージョンで正しくインストールされることをテストするためのツールでモジュールです。
通常、バージョンの競合はありませんが、virtualenvを使用してクリーンな環境をセットアップし、パッケージの依存関係を明確に表示したいと思っています。そうすれば、setup.pyの依存関係を決して忘れません
MacPortsを使用する場合は、同じパッケージの複数のバージョンが、追加のpython_selectパッケージを使用した古いDebianスタイルのように選択されなくなったことに注意してください(互換性のためにまだ残っています)。これで、使用するPythonバージョンを選択するためのselectコマンドがあります(Appleがインストールしたバージョンを選択することもできます)。
$ port select python
Available versions for python:
none
python25-apple
python26-apple
python27 (active)
python27-apple
python32
$ port select python python32
その上にトックスを追加すると、プログラムは本当に移植可能になるはずです