概要
PyPI(パイピーアイ) に登録した内容が期待どおりになっているかの確認を、以下のように実施した。
PyPIに登録されるファイル
パッケージの範囲に含まれるモジュールは__init__.py
がおかれているフォルダ。
モジュールの利用例は登録されない
whl ファイルを作る
-
はじめてPyPIにPythonライブラリを登録した話 を読んでください。
-
今流にするなら、この記事では、setup.py(setup.cfg) を使う流儀になっているのを、pyproject.toml を書く場合に置換えて読んでください。
distフォルダにある whl ファイル,tar.gzファイルが登録される。
ファイルの例
dist/disparity_view-0.0.18-py3-none-any.whl
dist/disparity_view-0.0.18.tar.gz
PyPIに登録されるのは、モジュールの範囲だけなので、scripts/
などのフォルダは__init__.py
がおかれていないかぎり、含まれていません。
Python: Twine を使って PyPI にパッケージをアップロードする
ここまでは、登録手順の復習です。
PyPIへの登録状況の確認
https://pypi.org/
この画面で、登録したパッケージ名で検索します。
そうすると、登録されているパッケージが表示されます。
PyPIに登録完了後の確認
利用例のスクリプトとpip install パッケージ名 でインストールしたモジュールとが整合性がとれているのかを確認する。
作業用のディレクトリでしかもvenvで新規の仮想環境を使うことで、まっさらな状況での動作を確認しています。
- 作業用のディレクトリを用意する。
- その作業用のディレクトリでvenv 環境を作る。
- python3 -m venv venv
- source venv/bin/activate
- python3 -m pip install パッケージ名
- cp -r 元のサンプルスクリプトのディレクトリ .
- cd コピー先のサンプルスクリプトのディレクトリ
- python3 サンプルスクリプト.py
このような流れで、PiPIに登録したwhlファイルの妥当性を検証した。
参考:パッケージの利用時に必要なデータがある場合の扱い
選択肢1:pip install 後に、ユーザーに必要なデータファイルをダウンロードしてもらう。
- wget, gdown などのコマンドでダウンロードしてもら。
選択肢2:whl ファイルではなくdebパッケージを用いる。(Linuxの場合)
- deb パッケージならば、pythonパッケージ以外のものもdebパッケージに含めることができます。
- この中にデータファイルを含めることができます。
- 利点:ネットワークに接続していない環境に、USBストレージを接続してインストールするのに向いています。
- 欠点:機械学習系の学習済みファイルは巨大なので、debパッケージが巨大になりすぎる。