2011-01-29 6 views
5

OSX(Snow Leopard)でのPython開発を学んでいる場合、私のPythonパッケージをどのようにして管理するのが最適でしょうか?初心者のためのOSXでのPythonパッケージ管理の常識

私は非常に多くの偉大なpythonパッケージがあることに興奮しています。私はそれらを学ぶのが好きですが、パッケージ管理は私を完全に混乱させてしまいました。明らかに私は何をしているのか分かりません。私は、パッケージ管理に対処するStack Overflowに関する多くの質問をしています。「xを使用してみてはどうですか?シェルからコピーしたこの1行にどれくらい簡単かを見てください」

$ x install something 

Xは、いくつかの特定の依存関係を処理するために失敗したかYをパッケージ扱うことができないまで、素晴らしい答えです。ここに私が既に試みたことがあります:

  1. 私はちょうどeasy_installで物事をインストールし始めました。
  2. 私はすぐにいくつかの重要なパッケージに依存性がなくなっていることを知りました()ので、私は狩りをしてMacPortsを発見しました。
  3. 私はMacPortsを使い始めましたが、私の環境変数はすべて混乱していました。だから、PATHPYTHONPATHsys.pathを再構成して端末のウィンドウを魅力的に見せるのに十分なbashを学びました。 MacPortsはしばらくの間素晴らしいようでした。
  4. しかし、私は私が使っていた別のモジュールのバージョンについて混乱しました、と私はその後、いくつかの非常に知的な人々は強く、私はHomebrewに切り替える推奨多くの依存関係の問題(GDAL)...
  5. を見つけました。 私はMacPortsをアンインストールし、Homebrewをインストールしました。
  6. 私はHomebrewを持っているので、何かをインストールするようには思えません。私が使用したいPythonパッケージのほとんどのためにFormulaをどのように作成するのか分からないからです。パッケージがpypiにリストされている場合、私は実際にHomebrewを使うべきかどうか、あるいはhomebrewディレクトリにインストールするeasy_installの設定方法を理解することはできません。そして、私は依然として欠けている依存関係にどのように最善を尽くすべきかわからない。多分、Python関連の数式の秘密のリポジトリがありますか? portfilesを式に変換する簡単な方法は?

正しい答えは、私がインストールしようとしているものによって異なることがあります。私は私を聞かせてパッケージのセットをインストールしようとしています:pygameの

  • PIL
  • 周り

    1. 遊びとPythonで
      • appscript
      • をすべてを自動化するGIS関連の作業を行いますPythonで
        • gdal
        • すっきり
        • たPostGIS
        • scipyのダウンロード
        • ジャンゴ
        • グーグルアプリエンジンのWebアプリケーションの不思議な可能性を探る

    I私のマシンからすべてを拭き取ろうと思っていますが、これは今ではパッケージのスクラップでちょっと混乱しているはずです。 virtualenvを学ぶ必要がある場合、または依存関係をチェックして自分でインストールする基本的なプロセスについてもっと学ぶ必要がある場合は、そのことを喜んで行います。私がHomebrewを掘り起こすだけなら、私もそれをやってうれしいです。私が本当にやりたいことをやり遂げることを妨げるこれらの問題にどう対処すればよいですか(Pythonでうまくいくものを作る)?

    答えて

    3

    、Pythonパッケージを処理するための最良の方法は、システムのPython、あなたが必要とするバージョンごとに1とは別のPythonのインストールのセットを持つことです。 この方法では、メインのpythonを古いバージョンのパッケージで汚染することはありません。私はそれらを削除し、問題のあるプロジェクトがなくても再インストールできます。

    詳細:MacPortsのバージョンを使用してOS X上で

    は、罰金です。私はそれを使ったことはありませんが、自家製の場合も同じでしょう。 (Linuxでは、ソースから/ opt/pythonxx /に、例えば/ opt/python25 /、/ opt/python26 /、/ opt/python27、/ opt/python31にPythonをインストールします。)

    私はその後、私はそれらのすべてにインストールされ、virtualenvdistributepipを除いて、これらのニシキヘビにどのパッケージをインストールすることはありません。私はプロジェクトのためのパッケージをインストールしたい場合は、私はそれに使用するPythonのバージョンでそのプロジェクトのvirtualenvのを行います。

    $ cd /home/projects 
    $ /opt/python27/bin/virtualenv acoolproject 
    $ cd acoolproject 
    $ ./bin/pip install ThepackageIneed. 
    

    あなたは、各プロジェクトをインストールすると、別々の依存関係は、依存関係の問題やバージョンの競合を回避し、バージョンの混乱。

    あなたはvirtualenvのと環境を有効または無効にすることができ、私はそれを行う決して傾向がある、私は明示的に代わりにPythonの実行可能ファイルを使用します。

    $ ./bin/python main.py 
    

    または

    $ /home7projects/acoolproject/bin/python 
    

    私はあなたができることが必要な場合Ploneやnginxやニスのようなpipでインストールすると、zc.buildoutを使用して複製可能な環境設定を行い、zc.buildoutも独立して動作するので、パッケージはメインのpythonsにインストールされません。

    0

    Homebrewを使用している場合は、おそらくpipを使用してPythonパッケージをインストールすることをお勧めします。 pipはHomebrewでインストールできますが、Homebrewには他のPythonパッケージの数式は含まれていません。しかし、それはピップを使用してパッケージをインストールするには非常に簡単です - (パッケージ名はは、PyPI上で見つけることができます。)

    $ pip install <package> 
    

    ような単純なあなたが自作経由ピップをインストールした場合、それはあなたがする必要があるすべてです。

    関連する問題