1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

自作モジュールをPyPIに登録する

Last updated at Posted at 2022-01-19

#目的
自作モジュールをPyPIへ登録してpip installでインストールします。今回は簡単なコードを実装して使います。
#方法
基本的に公式のチュートリアルに従います。個人的なこだわりで、wslを使ったりgithubに上げたり、仮想環境をpyvenvで作ったりしてますが、今回はそういう事が無くても出来るようにしているつもりです。何回かコマンドを使う必要がある為、そこで引っかかるかもしれません。そこは他の記事にお任せします。または後日、更新します。
#言葉の定義
ライブラリ、パッケージ、モジュールの区別が難しいので、これを参考に大まかに区別をしておきます。

Pythonのモジュール、パッケージ、ライブラリ徹底解説!
#必要なディレクトリやファイルを作る
公式のチュートリアルのままです。これを任意の場所に作ります。僕はデスクトップにPyPIフォルダを作ってその中で作業しています。
ptpiディレクトリ.png

##setup.cfgの編集
前はsetup.pyを作るのが公式だったようですが、今はsetup.cfgとpyproject.tomlを使うようです。中身は公式にお任せしますが、変更点についてだけ、お話します。赤枠で囲まれている所を変更します。
ptpi_setupcfg.png
赤枠で囲まれたところは下の様に書き直しました。
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ファイルが出来ていれば成功です。具体的には下図の様になります。
pipyディレクトリ後.png

#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へアップロードするためだけに、公式チュートリアルに従って簡単に説明しました。説明が簡略化され過ぎて分からない所があると思いますので、その際は質問して下さると嬉しいです。可能な限り、ご説明させて頂きます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?