#目的
自作モジュールをPyPIへ登録してpip install
でインストールします。今回は簡単なコードを実装して使います。
#方法
基本的に公式のチュートリアルに従います。個人的なこだわりで、wslを使ったりgithubに上げたり、仮想環境をpyvenvで作ったりしてますが、今回はそういう事が無くても出来るようにしているつもりです。何回かコマンドを使う必要がある為、そこで引っかかるかもしれません。そこは他の記事にお任せします。または後日、更新します。
#言葉の定義
ライブラリ、パッケージ、モジュールの区別が難しいので、これを参考に大まかに区別をしておきます。
Pythonのモジュール、パッケージ、ライブラリ徹底解説!
#必要なディレクトリやファイルを作る
公式のチュートリアルのままです。これを任意の場所に作ります。僕はデスクトップにPyPIフォルダを作ってその中で作業しています。
##setup.cfgの編集
前はsetup.pyを作るのが公式だったようですが、今はsetup.cfgとpyproject.tomlを使うようです。中身は公式にお任せしますが、変更点についてだけ、お話します。赤枠で囲まれている所を変更します。
赤枠で囲まれたところは下の様に書き直しました。
name:自分の付けたいモジュール名
author:PyPIで登録した名前を入れてます
author_email:PyPIで登録したメールアドレスを入れてます
url:自分のgithubのurlを使っています。そのままでも動きました。
project_urls:自分のgithubのurlを使っています。そのままでも動きました。
#buildする
必要なディレクトリやファイルが出来たらbuildしてPyPIへデプロイするする準備をします。ご自身のターミナル(僕の場合はwsl)で次のコマンドを実行して下さい。
##コマンドの更新
buildコマンドを更新します。
python3 -m pip install --upgrade build
buildしてPyPIへ上げるファイルとディレクトリを作ります。
python3 -m build
上のコードを実行するとdistファイルが出来るはずです。中に.whlファイルと.tar.gzファイルが出来ていれば成功です。具体的には下図の様になります。
#PyPIへの登録
##テスト環境へアップロード
python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
テスト環境に上げたモジュールを使うために、自分の環境にインストールします。
python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps packaging_tutorial
##本番環境へアップロード
テストで上手く出来たら本番環境にアップロードします。
python3 -m twine upload dist/*
この後はいつものpip install <package_name>
でインストール出来るようになります。
#感想
今回は、まずPyPIへアップロードするためだけに、公式チュートリアルに従って簡単に説明しました。説明が簡略化され過ぎて分からない所があると思いますので、その際は質問して下さると嬉しいです。可能な限り、ご説明させて頂きます。