Easy Install
つまるところパッケージマネージャです。
PerlでいうところのCPAN、PHPでいうところの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などのファイルがインストールされました。
RedHatのRPM形式でも提供されているようで、そこからインストールすると、/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の基本的な使い方はおさえたとおもうのでこんなところで。
最後に