2015年8月5日水曜日

pip コマンドを使って PyPI からパッケージをダウンロードしたり、ダウンロードしたものをインストールしたり

PyPI からのパッケージのダウンロードは https://pypi.python.org/pypi からたどったリンクをクリックするだけでできますが、今回は pip コマンドを使ってダウンロードしてみました。

また、ダウンロードしたものを同様に pip コマンドを使ってインストールしてみます。

ダウンロード/インストールするパッケージとして pygeoip を選んでいます。


環境

  • Ubuntu 14.04 (Trusty Tahr) Server
  • Python 3.4.0

PyPI からダウンロード

python3 用の pip をインストール

$ sudo apt-get install python3-pip

PyPI から pygeoip をダウンロード

$ pip3 install --download ./ pygeoip

カレントディレクトリにダウンロードされました。

$ ls -l
total 20
-rw-rw-r-- 1 worker worker 20296 Jul 27 22:05 pygeoip-0.3.2-py2.py3-none-any.whl

一応、チェックサム

$ md5sum pygeoip-0.3.2-py2.py3-none-any.whl
7c342cb0c745ec612071f197800ce4cc  pygeoip-0.3.2-py2.py3-none-any.whl

ダウンロードしたパッケージをインストール

/some/where/ に pygeoip-0.3.2-py2.py3-none-any.whl をダウンロードしたとします。

$ ls -l /some/where/
total 20
-rw-rw-r-- 1 worker worker 20296 Jul 27 23:31 pygeoip-0.3.2-py2.py3-none-any.whl

これを指定して pip でインストール

$ sudo pip3 install --no-index --find-links file:///some/where pygeoip
  • –no-index を付けることにより、指定したディレクトリ (/some/where/) に pygeoip が無い場合でも PyPI を使用しません。

pygeoip パッケージがインストールされました。

$ ls -l /usr/local/lib/python3.4/dist-packages/
total 8
drwxr-sr-x 3 root staff 4096 Jul 27 23:40 pygeoip
drwxr-sr-x 2 root staff 4096 Jul 29 12:54 pygeoip-0.3.2.dist-info

おまけ その1: geoip データファイルを利用して ip アドレスの国情報を取得

pygeoip を使うにはデータベースファイルが必要です。データベースファイルのインストール方法は「 GeoIP を使い、IP アドレスから国や場所の情報をコマンドラインで取得 」あたりを参照して下さい。

データベースファイルをインストールしたらこんな感じで使えます

$ python3
>>> import pygeoip
>>> gi = pygeoip.GeoIP('/usr/share/GeoIP/GeoIP.dat')
>>> gi.country_code_by_name('google.com')
'US'
>>> gi.country_name_by_addr('173.194.117.192')
'United States'

おまけ その2: ダウンロードしたパッケージを解凍

ダウンロードしたパッケージは unzip コマンドで普通に解凍できます。

$ unzip pygeoip-0.3.2-py2.py3-none-any.whl
  • 拡張子 .whl は unzip が認識しないようなので、タブ補完が効かないのでパッケージ名を直打ちする必要があります。

0 件のコメント:

コメントを投稿