外部ライブラリを活用する -pipとPyPIについて
記事の内容
この記事では、公開されている外部ライブラリを自身のPythonプログラミング環境にインストールし、利用する方法について説明します。
Pythonでは実に多種多様なライブラリが、パッケージの形式で無料公開されています。また、これらのライブラリを簡単に自分のプログラムにインポートして利用できる仕組も用意されています。
Pythonの人気の理由は、部品化されたオブジェクトの再利用が簡単なこと、多種多様な部品を無料で簡単に手に入れられること、です。外部ライブラリを最大限活用し、実践的なアプリケーション作成に挑戦してみましょう!
この記事では、標準ライブラリにないライブラリを便宜上外部ライブラリと呼んでいます。
***わからない用語があるときは索引ページへ***
1.pip
pipは、Pythonの外部ライブラリのパッケージ管理システムです。システムとはいっても、pipはpythonインタープリタからは単なるモジュール(Pythonのプログラムファイル)にみえています。
pipを実行することによって、外部ライブラリのパッケージを管理することができます。具体的には、外部ライブラリのインストール、アップデート、アンインストール、インストール済外部ライブラリのパッケージのリスト表示などができます。
Pythonの実行環境に外部ライブラリをインストールすると、標準ライブラリのパッケージと同じように自身のプログラムにインポートして利用することができるようになります。
2.pipを使ってみる
pipを使って、試しに何かパッケージをインストールしてみましょう。
以下は、Pythonのプログラム環境のOSがWindowsであることを前提に説明します。
まずはコマンドプロンプト(cmd)を起動し、pythonインタープリタ(pypthon.exe)が保存されたフォルダへ移動します。パッケージのインストールは、python.exeが保存されたフォルダで、
> python -m pip install <インストールしたいパッケージ名>
の形式で実行します。
ここでは、httpクライアントとしてよく利用されるrequestsパッケージをインストールしてみましょう。
> python -m pip install requests
requestsパッケージがpythonのプログラミング環境にインストールされます。
Successfully installed certifi-2020.6.20 chardet-3.0.4 idna-2.10 requests-2.24.0 urllib3-1.25.9
のように、Successfully installed...と表示されたらインストールは成功です。
インストールするライブラリが、他のライブラリを利用している場合、ライブラリの依存関係を管理する必要が生じます。pipはライブラリの依存関係も管理する仕組みがあるので、(配布元がしっかり管理できていれば)利用者がライブラリの依存関係を気にする必要はありません。
ちなみに、私が利用しているPythonプログラミング環境PyDev-Eclipseでは、pipでインストールした外部ライブラリのパッケージは
\pleiades\python\3\Lib\site-packages
に保存され、テキストエディタやPyDev-Eclipseを使ってソースコードを見ることもできます。ここでは説明は省略しますが、インストールするパッケージの保存先を指定することもできます。
このsite-packagesフォルダは、前の記事で説明したsys.pathに追加されているので、そのまま自身のプログラムにインポートして利用できます。
pipのバージョンが古い場合、pipを実行するたびにupgradeしろという警告が表示されます。このような場合は
> python -m pip install --upgrade pip
でpipを最新のものにアップデートしましょう。他の外部ライブラリのパッケージも同じコマンドで最新のものにアップデートすることができます。
インストール済の外部ライブラリのパッケージは、以下のコマンドで一覧を確認できます。
> python -m pip list
次に、今インストールしたrequestsパッケージをアンインストールしてみましょう。
> python -m pip uninstall requests
本当にアンインストールしてよいか聞いてきますが、yと入力し、
Proceed (y/n)? y
Successfully uninstalled requests-2.24.0
のように、Successfully uninstalled...と表示されたらアンインストールは成功です。
ところで、pipを使ってインストールされたパッケージはどこからとってきたのでしょうか。パッケージの取得先を指定しなかった場合、pipはPyPIからパッケージを取得してきています。
ダウンロード先を指定してローカルフォルダやgit、PyPI以外のパッケージ配布元からパッケージをインストールすることも可能です。
2.PyPIについて
PyPI(Python Package Index)は、Pythonのライブラリを無料公開している最大の配布元です。有名なものから専門的なものまで、ありとあらゆるライブラリを提供しています。世界中から利用されているパッケージは概ねPyPIから配布されているので、最大限活用しましょう。
参考までに、少し中身が偏ってますが、今の私のPCプログラム環境に入っている主な外部ライブラリのパッケージ一覧です。
beautifulsoup4 4.6.3:スクレイピングツール
jaconv 0.2.4:ひらがな、カタカナなど文字列変換ツール
matplotlib 2.2.3:グラフ化ツール
numpy 1.12.1:行列計算
pandas 0.22.0:テーブル形式のデータを読み込んで高速処理
psycopg2 2.7.1:postgresql(RDBMS)のハンドラ
requests 2.21.0:HTTPクライアントツール