home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

Python/setuptools, easy_install, eggパッケージ, pipメモ

Python/setuptools, easy_install, eggパッケージ, pipメモ

Python / setuptools, easy_install, eggパッケージ, pipメモ
id: 374 所有者: msakamoto-sf    作成日: 2009-05-01 19:06:25
カテゴリ: Python 

基本的に本家一次サイト群およびGoogle検索を駆使して閲覧できる先人達のドキュメントを元に、easy_install, pipを中心とした使い方やノウハウを調べられる。

Egg

JavaのJarファイルに相当するPythonにおけるパッケージフォーマット。拡張子は ".egg" 。
setuptoolsの導入により、.eggファイル中のPythonモジュールや設定ファイルを展開せずにそのまま読み込むことが可能になる。(拡張Cモジュールの場合は別)
冒頭には自己拡張方式のシェルスクリプトが埋め込まれている為、UNIX系のシェルが動作する環境であれば

sh abc-0.0.1.egg

のように直接実行してインストールすることも可能。

参考:

setuptools

distutilsを発展させたPythonパッケージで、Eggファイルの生成とロード機能を提供する。easy_installもこの中に含まれる。
RubyGemsを知っている人であれば分かりやすいかも知れない。
一時期開発が停滞し、"distribute"というパッケージに引き継がれた。
ところが2014年1月時点では、distributeがsetuptoolsにマージされ、結果としてdistributeが非推奨扱いになってしまっている。
Python - setuptools - pip はバージョン依存の問題で、新しいのと古いのの組み合わせだとトラブルにつながりやすいので、十分注意が必要。

"easy_install"はsetuptoolsを導入するとインストールされるライブラリセットアップ用コマンド。
つまり、easy_installコマンドを使う=setuptoolsを導入することと同義である。

インストール方法についてはsetuptoolsの公式ドキュメントを参照するのが確実だろう。OSとPythonのバージョン、Pythonのインストール場所、site-packageの場所など、Pythonのインストール状態を丁寧に確認しておくと、トラブルになっても自信をもって調査・対処出来るだろう。

インストール例:

$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py

(2014-01時点でやや時代遅れとなった参考記事:)

easy_install

setuptoolsによるEggファイルおよび、Pythonライブラリのソースツリーのビルド・インストールや管理を行うコマンド。
tarボールやURL、さらにはSVNリポジトリなどから直接ソースツリーを取得してEgg化し、インストールすることも可能。
ネット上にも先人達の苦労の跡が沢山見つかる為、使うのに困ることは少ないだろう。

pip

Pythonパッケージのインストール・管理に特化したパッケージ。
easy_installよりも、pipの方がパッケージ管理としてはモダンで洗練された機能を提供している・・・と、思います。(超大雑把な肌感覚レベル。)

インストールはeasy_installからインストールするのが簡単なようです。

$ easy_install pip

setuptoolsを入れ終わったら、最初にeasy_installでインストールするパッケージ、のようです。

rpmなりdpkgなり、yumやaptなりを使ったことがあれば、あるいはgemやPEARやcpanなど扱ったことがあれば、すぐ使えると思います。

setuptoolsとdistributeについて

上述の通り、setuptoolsの開発が一時期停滞していた時期があり、"distribute"というパッケージが後継として開発された。

参考:distributeがsetuptoolsの後継として頑張っていた時代。

ところが、2014-01時点でdistributeの公式ページを確認してみると・・・

ということで、2014-01現在は素直に最新版のsetuptoolsを導入すれば、distributeは不要です。
もしインストールしてしまっていたら、以下の手順で綺麗にアンインストール出来ます。

例:
# rm /usr/bin/pip
# rm /usr/bin/pip2.6
# rm /usr/bin/pip2
# rm /usr/bin/easy_install
# rm /usr/bin/easy_install-2.6
# rm -rf /usr/lib/python2.6/site-packages/pip-1.5-py2.6.egg
# rm -rf /usr/lib/python2.6/site-packages/setup*
# rm -rf /usr/lib/python2.6/site-packages/distribute-0.6.49-py2.6.egg
# rm -rf /usr/lib/python2.6/site-packages/easy_install*

2014-01時点の最新のsetuptoolsのドキュメント

distributeマージ後の最新のsetuptoolsを使ったeasy_install, pipの導入参考:



プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2014-01-19 00:16:39
md5:075b8fcc288719f2f2755d40f9e55a72
sha1:824d679b44d8ae1b16c184f0396002367da20f7c
コメント
コメントを投稿するにはログインして下さい。