基本的に本家一次サイト群およびGoogle検索を駆使して閲覧できる先人達のドキュメントを元に、easy_install, pipを中心とした使い方やノウハウを調べられる。
JavaのJarファイルに相当するPythonにおけるパッケージフォーマット。拡張子は ".egg" 。
setuptoolsの導入により、.eggファイル中のPythonモジュールや設定ファイルを展開せずにそのまま読み込むことが可能になる。(拡張Cモジュールの場合は別)
冒頭には自己拡張方式のシェルスクリプトが埋め込まれている為、UNIX系のシェルが動作する環境であれば
sh abc-0.0.1.egg
のように直接実行してインストールすることも可能。
参考:
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時点でやや時代遅れとなった参考記事:)
setuptoolsによるEggファイルおよび、Pythonライブラリのソースツリーのビルド・インストールや管理を行うコマンド。
tarボールやURL、さらにはSVNリポジトリなどから直接ソースツリーを取得してEgg化し、インストールすることも可能。
ネット上にも先人達の苦労の跡が沢山見つかる為、使うのに困ることは少ないだろう。
Pythonパッケージのインストール・管理に特化したパッケージ。
easy_installよりも、pipの方がパッケージ管理としてはモダンで洗練された機能を提供している・・・と、思います。(超大雑把な肌感覚レベル。)
インストールはeasy_installからインストールするのが簡単なようです。
$ easy_install pip
setuptoolsを入れ終わったら、最初にeasy_installでインストールするパッケージ、のようです。
rpmなりdpkgなり、yumやaptなりを使ったことがあれば、あるいはgemやPEARやcpanなど扱ったことがあれば、すぐ使えると思います。
上述の通り、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の導入参考:
コメント