« Vistaで好きなフォルダーからコマンドプロンプトを開く。 | トップページ | PythonとMATLABのコピー、代入の違い。 »

2011年5月20日 (金)

Pythonのパッケージ、モデュールのアンインストール

よくpython setup.py installでインストールしたパッケージを更新したり削除したいというときがあるけど、実はこのコマンドでインストールした場合はアンインストールできないという罠があり、ファイルの場所をいろいろ予想しながら手作業で全部削除するはめになる。eggとpthをとにかく消す。

easy_installを置き換えるものとして出てきたpipを使ってみた。このブログによると2008年11月の時点では

No easy_uninstall. Zed mentioned this in his PyCon '08 lightning talk, and it's still true

とあって、アンインストールが不十分らしい。pipはeasy_installよりもアンインストールが改善されているらしいが、まだアンインストール試してないが、どんなもんだろうか。。。easy_installでインストールできるものは基本的にはpipでインストール可能らしい。コマンドも似ている。

バージョンアップするオプション
easy_install  --upgrade パッケージ名
pip install --upgrade パッケージ名

アンインストール
easy_install  --uninstall パッケージ名
pip --uninstall パッケージ名

PyPIに最新版がまだあがってないCエクステンション付きのモデュールとかには思わず自分でダウンロードしてsetup.py build --compiler=mingw32をしてしまいがちだが、これからはできるだけsetup.py installは極力やめようとおもうのでした。

どうしても python setup.py install することになったら
python setup.py install  --record logfile.txt
としておけば、すべてのコピーされたファイルのログができる。これで手作業で消すことが可能になる。

追記)  もしくは python setup.py build してからpython setup.py bdist_wininst としてウィンドウズのインストーラーを作ってしまうと、コントロールパネル経由でアンインストールできるらしい。

つーか、pipをeasy_install経由でインストールしようよ思ったが、どうもpypiに見つからないとかいわれ、うまくいかず結局自分でコンパイルしてsetup.py installしてしまった。しかし、今回はログファイルがあるのでちょっと安心。

追記
pip経由でC++のエクステンションがあるモデュールをインストールできた。Stackoverflowのこの質問にあるようにdistutils.cfgというファイルをつくって中身に:

[build]

compiler=mingw32

とかいて、これをC:\Python26\Lib\distutilsへ置くことでMinGWが指定できるようだ。

« Vistaで好きなフォルダーからコマンドプロンプトを開く。 | トップページ | PythonとMATLABのコピー、代入の違い。 »

Python」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Pythonのパッケージ、モデュールのアンインストール:

« Vistaで好きなフォルダーからコマンドプロンプトを開く。 | トップページ | PythonとMATLABのコピー、代入の違い。 »

しろののツイッタータイムライン(凍結中)

オススメたち

2021年7月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

はてブ

無料ブログはココログ