2009-06-23 20 views
14

Pythonパッケージのインストールを扱う最も簡単な方法は、ソース管理システムからソースをチェックアウトし、Python distにシンボリックリンクを追加することでした-packagesフォルダ。pythonを使ったPythonパッケージのインストールまたはreposのeasy_install

ソースコントロールは完全にダウングレードするコントロールを提供するので、ブランチやタグにアップグレードすると非常にうまく動作します。

パッケージインストーラ(easy_installまたはpipその他)のいずれかを使用する方法はありますか?

easy_installはtar.gzを入手し、python2.6のdist-packagesフォルダにインストールされているsetup.py installを使用してインストールします。これを設定する方法や、ソースバージョン管理システム(SVN/GIT/Hg/Bzr)を代わりに使う方法がありますか?

答えて

26

pipを使用すると、これは非常に簡単です。例えば:

pip install -e hg+http://bitbucket.org/andrewgodwin/south/#egg=South 

ピップは、自動的にソースリポジトリのクローンを作成し、ご使用の環境にインストールするために(うまくいけばvirtualenvである)「開発のsetup.py」を実行します。 Git、Subversion、Bazaar、Mercurialはすべてサポートされています。

また、「pip freeze」を実行すると、現在インストールされているパッケージの一覧が、正確なバージョン(開発インストールの場合はVCSの正確なリビジョンを含む)で出力されます。これをそのまま要件ファイルに入れて、同じパッケージを同じバージョンにインストールするには、後で

pip install -r requirements.txt 

を実行してください。

+0

Infact私は現在あなたが書いたアンインストールに付属しているピップトランクを使用しています。 –

+0

うん、私はあなたがこれを支配していると思っていましたが、この回答が他の誰かに聞こえるかどうかを確かめたいと思っていました。 –

11

パッケージのソースディストリビューション(パッケージ内に "setup.py"が入っているもの)をダウンロードしたりチェックアウトしたりすると、パッケージが "setuptools"(power_uninstall_up)に基づいている場合、そのディレクトリに移動すると言うことができる:(

$ python setup.py develop 

をし、ソース配布中の.pyファイルを個別にインストールされるコピーではなく、輸入得るものがあるように、それはのdist-パッケージで右のシンボリックリンクを作成します。これ"setup.py install"とは何ですか?変更を試みるためにソースコードを編集するとすぐに変更されないコピーを個別に作成します。

もう1つの応答として、詳細は「setuptools」ドキュメントをお読みください。 "setup.py"は本当に便利な機能です! virtualenvのと組み合わせて、それを使用してみてください、あなたは痛みを伴わずに、あなたは一時的にしか上の現像されたパッケージを使用して、システム全体のPythonをめちゃくちゃにすることなく、「開発のsetup.py」ことができます。

http://pypi.python.org/pypi/virtualenv 
+2

+1:virtualenvは、Python開発を行うときに不可欠です。 – codeape

+0

virtualenvは必須です。< –

+3

「pip install -e」にも注意してください。 "python setup.py develop"と同等ですが、setup.pyでsetuptoolsを使用しないパッケージでも動作する点が異なります(pipはとにかく使用するように強制します)> –

4

easy_installを、特定のダウンロードをサポートしていますバージョン。例:

v1.4をインストールしますが、バージョンが指定されていない場合は最新のバージョン1.4.1が選択されます。

svnチェックアウトもサポートされていますが、これを使用してもマニュアルバージョンのメリットはありません。上記の詳細については、マニュアルを参照してください。

問題のパッケージを開発していない限り、特定のブランチに切り替えることはほとんど不可能です。そして、とにかくそれらをサイトパッケージにインストールするのは良い考えではありません。

+0

python-dateutil = = 1.4.0(2倍)? – typeoneerror

+0

はいそうです。それを私が直した。 –

0

easy_installはソースツリーのURLも受け入れます。ソースがSubversionにあるときは少なくとも動作します。

関連する問題