Pythonはオープンソースなパッケージが多く存在しています。そのパッケージを管理する方法です。
Pythonパッケージとは
Pythonは他のプログラム言語と同じくコーディングでは多くの関数やクラスを作成します。
それらをまとめて「.py」ファイルにして動かします。
この「.py」ファイルはメインのプログラムにもなり、モジュールにもなります。
Pythonをコーディングするときに他の「.py」ファイルに定義された関数やクラスを使うときは、頭に「import」文でファイル(モジュール)名を指定します。
この場合その「.py」ファイルはモジュールとなります。
そして複数のモジュールをまとめたものがパッケージとなります。
複数の「.py」ファイルがあるフォルダに「init.py」ファイルを置けば、それらはパッケージとなります。
「init.py」ファイルの中身は何も書かなくても動作します。
例えば以下の構成になっているsampleパッケージがあるとします。
sample ├── __init__.py ├── chap1.py └── chap2.py
そしてそれぞれのファイルの中身は以下とします。
# chap1.pyの中身
import chap2
def func1():
chap2.func2()
print("This is chap1.")
# chap2.pyの中身
def func2():
print("This is chap2.")
「test.py」を作成してこのパッケージの「chap1」の「func1」関数を使うときは以下のように記述します。
# test.pyの中身
import sample
sample.chap1.func1()
この場合、パッケージ内のモジュール名「chap1」を記述しています。
数多くのモジュールを含んだパッケージだと、モジュール名を記述するのは困難になります。
そのときはimportの際にモジュール名を記述しなくてもいいように「init.py」ファイルに以下を記述します。
# __init__.pyの中身
from sample.chap1 import func1
こうすると「test.py」で使う際にモジュール名を省略できます。
# test.pyの中身
import sample
sample.func1()
結果は以下のように表示されます。
This is chap2. This is chap1.
オープンソースな公開されているパッケージを利用する
自ら作成したモジュールをまとめてパッケージ化して利用することもありますが、多くは公開されているオープンソースのパッケージ利用すると思います。
外部からのパッケージを使っているPython環境で利用できるようにするには、そのPython環境にパッケージをインストール・アンインストールが簡単にできる「pip」コマンドを利用します。
pipコマンドはPyPI(Python Package Index)というパッケージのリポジトリ(カタログ)からダウンロードしてインストールします。
使えるパッケージが豊富にあります。
pipの使い方
パッケージのインストール
pipコマンドでパッケージをインストールするときはコマンドコンソール(ターミナルやコマンドプロンプト)で以下を入力します。
$ pip install パッケージ名
テキストファイルに書かれたパッケージを一括でインストールすることもできます。
$ pip install -r テキストファイル
例えばテキストファイルにインストールしたいパッケージを以下のように書きます。
pygame==1.9.6 notebook==5.7.8 Pillow==6.1.0
Python3.4からpipが含まれていますが、もしpipが利用できなければ次の手順でインストール可能です。
まずは、「get-pip.py」ファイルを以下のURLからダウンロードします。
https://bootstrap.pypa.io/get-pip.py
ダウンロードできたら、pythonコマンドで実行します。
$ python get-pip.py
インストール完了したら、確認のためバージョンを表示します。
$ pip -V
パッケージの確認
インストールされているパッケージを確認するには以下のコマンドを入力します。
$ pip list もしくは $ pip freeze
以下のコマンドでインストールされているパッケージの詳細を見ることもできます。
$ pip show パッケージ名
パッケージのアップグレード
パッケージも日々更新されています。
すでにインストールしているパッケージをアップグレードするには以下のコマンドを入力します。
$ pip install --upgrade パッケージ名
パッケージのアンインストール
パッケージをアンインストールするときは以下のコマンドを入力します。
$ pip uninstall パッケージ名