Pythonで自作のパッケージを作成する方法

Pythonで自作のパッケージを作成して呼び出すにはちょっとした「おまじない」が必要です。

その「おまじない」は一見、複雑ですが、順を追って作成していけば難しいものではありません。

この記事ではパッケージ作成、Pythonへの登録、呼出、Pythonからの削除までを順を追ってみていきます。

スポンサーリンク

Pythonで自作のパッケージを作成する

Pythonで自作のパッケージを作成するにはまず準備しなければならないことがあります。

今回はパッケージのフォルダー内に2つのフォルダー(viewフォルダーとmodelフォルダー)があり、それぞれがパッケージ内のモジュールとして利用できることを目指します。

まず、各フォルダー構成です。

上記の構成でまずは「setup.py」「__init__.py」を漢字コードUTF-8で空のファイルを作成します。

setup.pyを作成する

まずsetup.pyを作成します。

中にはパッケージの名称や、バージョン、対象とするソースのあるフォルダーなどを指定します。

ファイルの中身で重要なのは「name」と「packages」です。

「name」はpythonに登録した時のパッケージ名、「packages」はパッケージを生成する際にソースファイルを検索するフォルダーになります。

__init__.pyファイルを作成する

次にパッケージフォルダーに__init__.pyファイルを作成します。

上記の例を2つ書いておきます。
まずはviewフォルダー内の__init__.pyファイル。

次にはmodelフォルダー内の__init__.pyファイル。

ここで注意がひつようなのは「__all__」です。

この「__all__」を記述することで、実際に利用する際のimoprt文でクラス名をワイルドカード(*)で呼び出せるようになります。

各クラスファイルを作成する

あとは各クラスファイルを作成します。
今回作成する4ファイルをサンプルとして記載しておきます。

作成したパッケージをPythonにインストールする

ここまでくればあとはPythonで作成したパッケージが利用できるように、Pythonにパッケージを認識させます。

認識させる方法は「setup.py」のあるディレクトリに移動して

とコマンドラインから入力します。

実行すると

のようなメッセージが表示されれば登録成功です。

パッケージがインストールできたか確認する

実際に自作に作成したパッケージがインストールされているかどうかを確認するには、コマンドラインから

と入力します。

すると

と自作に作成したパッケージが表示されます。

作成したパッケージを呼び出してみる

これで通常のパッケージと同様に自作パッケージが呼び出せるようになったので、呼び出してみます。

上記の実行結果は

になり、それぞれのクラスが利用できるようになっています。

また、import文をワイルドカード「*」を使って呼び出しても

上記の実行結果は

になり、それぞれのクラスが利用できます。

これでサブクラスが増えるたびにimport文を追加しなくてもよくなります。

自作のパッケージをpythonからアンインストールする

一度作成したパッケージをアンインストールしたい場合はインストールと同様に「setup.py」のあるディレクトリに移動して

とコマンドラインから入力します。

これでアンインストールは完了です。

まとめ

Pythonでは自作に作成した複数のクラスを「パッケージ」として一つの塊として管理できます。

1つのクラスファイルがいくつものクラスを含んで巨大化したり、いくつものクラスのimport文を書かなければならなくなった場合は、クラスのパッケージ化を検討するべきです。

一度環境ができてしまえばあとは通常の編集なのでそれほど戸惑うことはありません。

以上、Pythonで自作のパッケージを作成する方法でした。

タイトルとURLをコピーしました