22
10

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 3 years have passed since last update.

[Python] poetryを使用したPyPIパッケージ公開手順

Last updated at Posted at 2020-12-31

はじめに

poetry を使用して、PyPIにパッケージを公開するための設定手順です。

PyPIそのものと、PyPIのアカウント登録については、@shinichi-takii さんの記事をご参照ください。

準備

poetryとkeyringをインストール

もしまだインストールされていなければ、poetryとkeyringをインストールします。
keyringは、PyPIのアカウント情報を保存するために使用されます(なくても大丈夫ですが、インストールする方がおすすめです。macOSの場合、キーチェーンを使ってくれます)。

poetryのインストールについては、@canonrock16 さんの記事をご参照ください。

keyringのインストールについては、@hidelafoglia さんの記事をご参照ください。

テストレポジトリの登録

testpypiという名前で、Test PyPIのURLを登録します。

poetry config repositories.testpypi https://test.pypi.org/legacy/

TestではないほうのPyPIは、poetry自体に組み込まれているので何もしなくてよいです。

API Tokenの発行

PyPI および Test PyPI へアクセスし、API Tokenを発行します。

image.png

Add API tokenをクリックします。

image.png

任意のToken nameを入力し、Scopeを選択します。
Add tokenをクリックします。

image.png

API Tokenが発行されるのでコピーします。

API Tokenの登録

PyPIのAPI Tokenを登録します。

poetry config pypi-token.pypi "PyPIのAPI Token"

Test PyPIのAPI Tokenを登録します。

poetry config pypi-token.testpypi "Test PyPIのAPI Token"

パッケージの作成

これからパッケージを作成する場合は、poetry new パス名というコマンドを実行すると、パスで指定したディレクトリの下に、以下のようなファイルが出来上がります。

├── README.rst
├── パス名
│   └── __init__.py
├── pyproject.toml
└── tests
    ├── __init__.py
    └── test_パス名.py

pyproject.tomlファイルを開き、以下の項目を[tool.poetry]セクションに追加します(追加しなくてもよいですが、追加するほうがおすすめです)。
readmeのファイル名は、実際に合わせてください。

[tool.poetry]
description = "短い説明文"
license = "ライセンス名"
homepage = "ホームページURL"
repository = "ソースレポジトリURL"
readme = "README.md"

setup.pyファイルは、ビルド時に自動的に生成されるので、自前で用意しなくても大丈夫です。

パッケージをビルド

以下のコマンドを実行すると、distディレクトリ以下にソースtarボールとwhlファイルができます。

poetry build

パッケージをアップロード

Test PyPIへアップロードするには、登録したレポジトリ名を指定します。

poetry publish -r testpypi

TestではないほうのPyPIへアップロードする場合は、何も指定する必要はありません。

poetry publish

おわりに

poetryを使うことで、Python初心者の自分でも簡単にパッケージを作成して公開することができました。

22
10
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
22
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?