パッケージ化
パッケージ化 ▲
モジュールをパッケージ化して配布するときは、まず setup.py を作成する必要がある
setup.py は PyCharm で簡単に作成できるツールが用意されているので手順を記載する
例として、下記画像のフォルダ構成でパッケージ化を行うとする

lesson_package/wrong ディレクトリには __init__.py が用意されていないことに留意しておく
このディレクトリは本来は用意すべきファイルが抜けていた時の説明用なので、実際には真似する必要はない
__init__.py はモジュール検索のためのマーカーのような役割を担っており、このファイルが存在するディレクトリにおいて、ディレクトリ名を名前とする名前空間の初期化を行ってくれる
このファイルの中に色々と記載することで、例えばモジュール間で名前空間の衝突が起きた際に、名前空間の問題を解決することもできる
画面上部の [Tools] -> [Create setup.py] から設定画面を出し、必要な項目を記入して OK を押す


これで自動的に setup.py ファイルが作成される
ツールを使用しない場合は自分で setup.py ファイルを書いて用意すれば問題ない
__init__.py ファイルがきちんと用意されているディレクトリは packages のリスト内にディレクトリ名が登録されているが、用意していなかったディレクトリは省かれている
パッケージ化するときは必ず __init__.py ファイルの用意を忘れないようにすること

setup.py の作成ができたら、次に sdist (source distribution の略)を行う必要がある
これは配布用のファイルにまとめる作業で、こちらも PyCharm のツールから行うことができる
画面上部の [Tools] -> [Run setup.py Task...] を選択し、出てきたウィンドウで sdist を選択して次に進む


次の画面で sdist 実行時にコマンドラインから渡すパラメタを設定できる
パラメタが必要でなければそのまま OK を押して進む

すると dist フォルダが作成され、中に tar ファイルが入っている
これを配布することで他者に共有することができる
なお、 PyCharm を使用しない場合はターミナル上で "python setup.py sdist" と実行することで同様にファイルを作ることができる

目次