Easy Install

つまるところパッケージマネージャです。
PerlでいうところのCPANPHPでいうところのPEAR。ちゃんと依存パッケージもインストールしてくれます。(たとえばSQLObjectだとFormEncode)

ちなみにこれを書いているときのeasy_installのバージョンは0.6c9でした。

導入編

要求Pythonのバージョンは2.3.5、64bitマシンだと2.4以上とのこと。
各プラットフォームごとにインストールのやり方が異なります。
まずは、自分の環境(OSとPythonのバージョン)にあったEasyInstallをここからDLしましょう。ページの下のほうに各ファイルへのリンクがあります。

Windowsの場合、インストーラが.exe形式で提供されているので、そちらをDLしてダブルクリックすれば完了です。

うちの環境では、Pythonインストールパスが C:\Python25 だったので、C:\Python25\Scripts のパスにeasy_install.exeなどのファイルがインストールされました。

RedHatRPM形式でも提供されているようで、そこからインストールすると、/usr/binにeasy_installの実行可能ファイルが設置されるようです。
パスも通っていることですし、シェルから

#easy_install ほにゃらら〜

で利用できると思います(実際に試してないのでこのとおりにいかないかもしれません)

.egg形式のインストーラをDLします。
.egg形式のパッケージを導入するためのセットアップツールが何で.egg形式で提供されんだよwwwとか思うかもしれませんが、ファイルの先頭が

#!/bin/sh
if [ `basename $0` = "setuptools-0.6c9-py2.4.egg" ]
then exec python2.4 -c "import sys, os; sys.path.insert(0, os.path.abspath('$0'));(以下略

な風になっていますので、

#sh setuptools-0.6c9-py2.4.egg

でインストールできます。--prefixなどを指定してやることもできるようです。
Linuxでオプションなしでやってみましたが、/usr/binに実行ファイルがインストールされました。

使い方

  • 名前を指定して最新版をインストール

easy_install 名前

基本的にPyPIにあるパッケージならこれで大丈夫かと思います。
パッケージ名の大文字小文字は区別しないようです。SQLObjectでしか試してませんが。

  • tar.gzとかtgzファイルのURIを指定してインストール

easy_install URI

そのまんまですね。

  • ローカルにある.eggファイルからインストール

easy_install /path/to/foo.egg

見てのとおりです。

  • インストール済みのパッケージを強制アップグレード

easy_install −U パッケージ名

オプションで-U(--upgrade)とすりゃForceUpgradeになります。

ほかにもいろいろオプションがあって

easy_install --helpで

で確認できます。

DLページのURLとバージョンを指定してインストール、みたいなこともできるようなんですが、うまくいきませんでした(´・ω・`)探した挙句PyPIからDLしてたりと・・・。

  • バージョン指定インストール

easyinstall 名前==バージョン

これ書いている当時のSQLObjectのLatestは0.10.4ですが、

easy_install sqlobject==0.9.9

とすれば0.9.9がインストールされます。
0.10.4をインストールした状態で上記コマンドを実行するとsite-packagesディレクトリには両方のバージョンが混在することになりますが(0.10.4のパッケージが消されるわけではない)、

Removing sqlobject 0.10.4 from easy-install.pth file
Adding SQLObject 0.9.9 to easy-install.pth file

という具合のメッセージが出て、後からインストールした0.9.9がアクティブな状態になります。

  • アクティブなバージョンの切り替え

んで、アクティブなバージョンを0.10.4に戻すには

easy_install sqlobject==0.10.4

とすればOK。すでにパッケージはインストールされているので、いちいちDLしにいきません。

が、お察しのとおり-Uオプションをつけると

easy_install -U sqlobject==0.10.4

パッケージを取得してインストール、アクティブ化をしてくれます。

  • アンインストール

easy_install -m 名前

ようするに-mオプションでアンインストールです。
もちろん ==バージョン とすれば複数ある中から指定したバージョンをアンインストール可能です。
が、残ったバージョンをアクティブにはしてくれませんのでご注意を。

まだ引用元ページの半分も行ってませんが、easy_installの基本的な使い方はおさえたとおもうのでこんなところで。



最後に

手動インストール

  1. tar.gz形式とかのファイルをDL
  2. DLしたファイルを解凍
  3. 中に入っているsetup.pyを実行(゚Д゚)

この場合、easy-install.pthファイルの管理は行われず、
site-packagesディレクトリ直下にそんままパッケージが入ります。
アンインストールのときはそのディレクトリをそのまま削除になるのかな。