Hatena::ブログ(Diary)

PyPI Walker

2009-01-18

Easy Install

つまるところパッケージマネージャです。

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

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

導入編

要求Pythonのバージョンは2.3.5、64bitマシンだと2.4以上とのこと。

各プラットフォームごとにインストールのやり方が異なります。

まずは、自分の環境(OSPythonのバージョン)にあった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でしか試してませんが。

easy_install URI

そのまんまですね。

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ディレクトリ直下にそんままパッケージが入ります。

アンインストールのときはそのディレクトリをそのまま削除になるのかな。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/TaoPyPI/20090118/1232277995