ライブラリのインストール - pipの使い方

Pythonには豊富な標準ライブラリが備わっています。システム、ファイルIO、関数、データベース、ウェブ等、非常に多彩です。Pythonが「バッテリー同梱(batteries included)」と呼ばれる所以です。

プログラムの作成では、機能はなるべく自分で作らないで、ライブラリを活用して省力化します。基本的な機能は標準ライブラリにありますが、ない場合には外部(サードパーティー)から探します。

例えば、エクセルの読み書きにはOpenPyXL、PDFを作成するにはPyPDF2などのサードパーティライブラリを利用します。

Pythonには、コミュニティが運営しているレポジトリという倉庫のような仕組みがあります。このレポジトリは、PyPI(Python Package Index)と呼ばれ、2018年2月時点で約12.8万のライブラリパッケージが登録されています。

https://pypi.python.org/pypi

PyPIからライブラリをインストールするには、pipと呼ばれるツールを使います。pipを使用することで、インターネットを経由したインストールが簡単にできます。

pipは、Python3.4以上(Python2の場合は2.7.9以上)であれば、プレインストールされています。本サイトでは、Python3.5以上を使用し、以下の説明はWindows環境で行います。

pip の前には必ずpy -m を付けてください(本文中では省略しています)

Windowsでは、以下のようにpy -mを付けてPythonランチャー(py.exe)を使用して実行してください。

py -m pip install pypdf2

3.43.6のように複数のバージョンがインストールされている場合、これを付けないと、PATHに登録されている旧バージョン(3.4)の方にライブラリがインストールされてしまうことがあります。

Windowsでは、pyファイルはPythonランチャーに関連付けられていて、インストールされている中から新しいバージョン(3.6)で実行されるようになっています。そのため、旧バージョン(3.4)の方にインストールされたライブラリは参照されないことになってしまいます。

旧バージョン(3.4)の方にインストールしたい場合は、以下のようにバージョンを指定します。

py -3.4 -m pip install pypdf2 

ライブラリのインストール

pipはコマンドで実行しますので、まずコマンドプロンプト(背景の黒い画面)を開きます。

1. コマンドプロンプトを開く

  1. 「Windowsキー()+ r 」を入力すると、以下のような画面が開きます。
  2. open cmd

  3. 「cmd」 と入力して OK をクリックするとコマンドプロンプトが開きます。

2. pip install を実行する

例えば、PDFを作成するために、PyPDF2ライブラリをインストールするには、以下のように

pip install pypdf2

と入力してEnterキーを押すとダウンロードとインストールが開始されます。

既にインストールされている場合

以下のようなメッセージが表示されたら、既にインストールされています。

Requirement already satisfied: pypdf2 in /ライブラリのバス/

最新版にアップグレードする場合は、以下のようにライブラリ名の前に --upgrade または -U を付加します。このオプションを付けても新規インストールは実行されるので、最初から付けていても構いません(ただし、ライブラリの依存関係に留意してください [詳しくはこちらを参照] )。

pip install -U pypdf2

バージョンを指定してインストールする

以下のようにライブラリ名の後に==でバージョン番号を付加します。

pip install pypdf2==1.25

インストール可能なバージョン番号を調べる方法

インストール可能なバージョン番号は、以下のようにバージョン番号を空欄にしてエラーメッセージを表示させるとわかります。

C:¥> pip install pypdf2==

# 以下のようにインストール可能なバージョン番号が表示されます。
Collecting pypdf2==
  Could not find a version that satisfies the requirement pypdf2== (from versions: 1.17, 1.18, 1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.25.1, 1.26.0)
No matching distribution found for pypdf2==

インストール済みのライブラリの確認

以下のコマンドを実行するとインストール済みのライブラリを確認できます。

pip list

ここの実行例では、警告が出ていますが、「近いうちにリスト表示をカラム形式に変更するので、いまのままが良い場合は設定を変更してください」という内容だけですので、特に表示形式にこだわらなければそのままにしてください。私は気にしないので、そのままにします。

ライブラリのアンインストール

例えば、上記でインストールしたPyPDF2ライブラリをアンインストールするには、以下のコマンドを実行します。

pip uninstall pypdf2

ライブラリのアップグレード

例えば、上記でインストールしたPyPDF2ライブラリを最新版にアップグレードするには、以下のコマンドを実行します。

pip install --upgrade pypdf2

# 以下のように短縮形も使えます
pip install -U pypdf2

インストール済みのライブラリが最新版かチェックするには、以下のコマンドを実行します。

C:¥> pip list --outdated

# 最新でないライブラリが表示されます。sdistとwheelは提供されているフォーマット名です。
GDAL (1.11.5) - Latest: 2.2.3 [sdist]
more-itertools (3.2.0) - Latest: 4.0.1 [wheel]
pandas (0.20.3) - Latest: 0.21.1 [wheel]
pytz (2017.2) - Latest: 2017.3 [wheel]
......

アップグレードする前に気を付けてください!

ライブラリのなかには、他のライブラリを利用しているものがあります。そのため、依存しているライブラリのアップグレードの対応に間に合っていない場合など、動かなくなることがあります。そのような時のために、正常に動作していた時のバージョンを控えておきます

pip freeze > requirements.txt
# requirements.txtの中身
Flask==0.12.2
GDAL==1.11.5
Jinja2==2.10
numpy==1.13.3
......

以上のように、現在インストールされているライブラリとそのバージョンをテキストファイル(requirements.txt)に記録します。そうしておけば、動かなくなっても以下のコマンドで簡単に復元できます。

pip install -r requirements.txt

依存するライブラリを調べる方法

pip showで出力されるRequires:に依存するライブラリが表示されます。

C:¥> pip show requests
Name: requests
Version: 2.18.4
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache 2.0
Location: c:\users\ichiro\appdata\local\programs\python\python36-32\lib\site-packages
Requires: chardet, urllib3, certifi, idna

また、pipdeptreeというツールを使うと詳細に調べることができます(pip install pipdeptreeでインストールできます)。

C:¥> pipdeptree -p requests
requests==2.18.4
  - certifi [required: >=2017.4.17, installed: 2017.11.5]
  - chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
  - idna [required: <2.7,>=2.5, installed: 2.6]
  - urllib3 [required: >=1.21.1,<1.23, installed: 1.22]

pipのアップグレード

pipを利用していると、以下のようにpip自体のアップグレードを促すメッセージが表示されることがあります。

メッセージの部分
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

このような場合は、メッセージに従い、以下のコマンドを実行してアップグレードします。

python -m pip install --upgrade pip

参考

Macの場合は以下のコマンドを実行します。

$ pip install --upgrade pip

ヘルプの表示

さらに詳しい使い方は、以下のように知りたいコマンド(例えば、install)の後ろに-hオプションを加えて実行します。

C:¥> pip install -h

# 以下のように表示されます。
Usage:   
  pip install [options]  [package-index-options] ...
  pip install [options] -r  [package-index-options] ...
  pip install [options] [-e]  ...
  pip install [options] [-e]  ...
  pip install [options]  ...

Description:
  Install packages from:
  
  - PyPI (and other indexes) using requirement specifiers.
.................