« Also Known As Umeboshi | トップページ | エイプリルフール2014 AdSenseの場合 »

2014年3月17日 (月)

今から始めるPython その3 Site-Packagesってなに。モデュールのインストール・アンインストール

三回目になりました「今から始めるPython」です。前回までに、Python(x,y)をインストールして、同梱されるSpyderというIDEを使い始めました。

今回は、Pythonのライブラリの取り扱いについて書きます。ずっと前にPythonのパッケージ、モデュールのアンインストールというのを書きましたが、シリーズに合わせてもう少し丁寧に説明します。

モデュールとパッケージ

Pythonではライブラリはモデュールとかパッケージと呼ばれます。モデュールというのは一つのファイルで済むような小さな規模のライブラリによく使われ、大規模なライブラリはパッケージの形式を取ることがおおいです。同じフォルダに__init__.pyというファイルを置くと、パッケージ形式になるのですが、ユーザーにとっては使い方も違わないので、似たようなものです。初めは、どちらもライブラリのことだとわかれば十分です。

通常、ウィンドウズでPythonをインストールすると

C:\Python27\Lib\site-packages

というフォルダが見つかると思います。Python(x,y)でインストールしても同じです。

このsite-packagesというのが、サードパーティ製のライブラリの置き場です。ここにあるpyファイルやpydファイル、eggファイルなどがインポート可能なライブラリの本体になります。

Python(x,y)は以前は差分アップデート用のファイルも配っていたので、サポートされているすべてのライブラリを一気に最新版にアップデートできたのですが、最近は差分アップデートの配布が停止しています。ただ、個別のライブラリ用にプラグインアップデート用のファイルが配布されているので、最新版に保つにはこれをダウンロードして実行するだけです。このアップデート用ファイルは自動で古いバージョンを検出して、アンインストールしてからインストールするので、とても優秀です。

アップデート用ファイルはこちらからダウンロードできます。

Python(x,y)のプラグインインストーラーはとても優秀

その1にもちょっと書きましたが、Python(x,y)でインストールされたライブラリはSite-Packagesのプラグイン用のフォルダにuninstall.exeを置いてくれるので簡単に手動でアンインストールも出来ます。

これは当たり前のようで、意外にそうでもないのです。あえてPython(x,y)を使わないと、どういう状況かを、numpyを例にあげて説明しましょう。

numpyもそうですが、多くの有名なライブラリは中身がC言語でできているためCエクステンションライブラリと呼ばれます。なので、自分でソースコードからコンパイルしてインストールするのは結構大変な作業になり、普通は公式サイトにあるコンパイル済みのバイナリーのインストーラーを取ってくる事になります。

numpy公式サイトのインストーラーでのインストールはとっても簡単でダブルクリックして、画面の指示に従えば終わります。ただ、numpy公式サイトからのインストーラーにはuninstall.exeが含まれてないので、アンインストールが面倒なのでアップデートするときちょっと困るわけです。

基本的には手作業で、C:\Python27\Lib\site-packagesにある関連ファイルをすべて削除すれば大丈夫ですが、全部削除出来たか確認するのが手間です。numpyフォルダとnumpy-1.8.0-py2.7.egg-infoフォルダがあればこれも削除して終わりだと思いますが。。pthやeggファイルもある場合があるかもしれません。

このアップデートの問題を解決しようとpipというコマンドラインツールが作られました。これはpip install ライブラリ名というふうにやると欲しいライブラリをインストールしてくれ、pip install --upgrade ライブラリ名としてアップデート、pip uninstall ライブラリ名としてアンインストールしてくれるて大変便利なんですが、numpyの場合、pip install numpyとするとソースコードをダウンロードしてきてからこれをコンパイルしようとするので、Cコンパイラーの設定をちゃんとしていないとエラーに成ってしまうのです。

Python(x,y)がおすすめなのは、こういうコンパイルの難しいライブラリをインストールし、最新版に保つのが超簡単になるのが、最大の理由です。

PipとPyPI

Cheese StoreとかCheese Shopと呼ばれたりすることもあるthe Python Package Index略してPyPIは、Pythonライブラリのレポジトリーサイトで4000以上ものライブラリがあります。基本的にここにあるものはpipでインストールできます。PyPIに登録された名前がpip install ライブラリ名に使うライブラリ名です。Python(x,y)でサポートされていないものは出来るだけpipでインストールしましょう。そうするとアップデートやアンインストールが楽です。

もしpipがない環境の場合でも、PyPIからソースコードをダウンロードしてきて、解凍し、フォルダ内にあるsetup.pyというファイルがあるので、コンソール上からpython setup.py installとするとインストールできます。ただし、これやるとアンインストールがまた面倒いので、python setup.py build してからpython setup.py bdist_wininst としてウィンドウズのインストーラーを作ってしまうと、コントロールパネル経由でアンインストールできるようになります。

では、最後にPythonの名前の元になったコメディ、「モンティ・パイソン」のチーズショップをお送りして締めましょう。PyPIがCheese Shopと呼ばれるのもここから来ています。

うーむ、まあ面白いが、微妙。似たようなではParrotの方が面白い。

« Also Known As Umeboshi | トップページ | エイプリルフール2014 AdSenseの場合 »

Python」カテゴリの記事

今から始めるPython」カテゴリの記事

学問・資格」カテゴリの記事

広告欄


やっつけタイムライン

広告欄

はてブ

人目の訪問です。

  • follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。現在Feedlyに122人登録頂いています。多謝!RSSを表示

    ブログランキング用 にほんブログ村 IT技術ブログ Pythonへ ブログランキングならblogram






    Jenny Mayhem
2017年2月
      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        

Amazon

IT技術注目記事

無料ブログはココログ