===== 前提条件 ===== PyPIにアカウントを作成している事が必要\\ 未作成の場合はPyPIの[[アカウント登録のやり方]]を参照 このパッケージを登録したときの情報\\ nLoggong [[https://pypi.org/project/nlogging/]] ===== 事前準備 ===== まずは以下のような構成で各種ファイルを配置する ソースコード等はgithubで公開しているのでそちらを参照\\ [[https://github.com/noradoglabo/nLogging|https://github.com/noradoglabo/nLogging(nlogging source code)]] working_dir ├ nLogging │ ├ __init__.py パッケージ初期化用の処理を記述 │ └ nlogging.py ライブラリ本体 ├ exsample │ └ sample.py サンプルコード ├ LICENSE ライセンスファイル(githubで生成可能) ├ pyproject.toml パッケージ作成のための設定ファイル └ README.md markdownにて記述 以下、パッケージの作成と登録に関する内容を記載していく ==== __init__.py ==== もっと大掛かりなパッケージを作成する場合に必要なのかもしれないが、現状は何も書いていない ==== pyproject.toml ==== [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "nlogging" version = "0.1.0" description = "A Simple logging Liblary." readme = "README.md" requires-python = ">=3.8" license = {file = "LICENSE"} authors = [ {name = "matsutaka", email = "dog@norageek.co.jp"} ] classifiers = [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python :: 3", "Topic :: System :: Logging", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities", ] dependencies = [ ] [project.urls] Repository = "https://github.com/noradoglabo/nLogging.git" [tool.setuptools] package-dir = {"" = "nlogging"} 詳細等、理解不足の事項があるのが今後の課題(特に%%[build-system]%%の部分) ===== パッケージ作成とPyPI登録に必要なパッケージの準備 ===== 下記パッケージのインストール(インストール済みの場合はバージョンアップ)を行う 必要パッケージ * build * twine python -m pip install --upgrade build python -m pip install --upgrade twine ===== パッケージのビルド ===== "pyproject.toml"と同じ階層のディレクトリーにてビルドを行う python -m build ===== テスト用(Test PyPI)への登録 ===== python -m twine upload --repository pypitest dist/* 正常にアップロードが出来れば登録されたURLが表示されるのでWebサイトを内容を確認し、実際にインストールも行い動作を確認 pip install -i https://test.pypi.org/simple/ nlogging 問題無ければいったん削除(後ほど正式版をインストールして再確認) pip uninstall nlogging ===== 正式版(PyPI)の登録 ===== Test版と同様に、今度は正式プロジェクトとして登録 python -m twine upload dist/* Test版と同様、正常終了すれば登録されたURLが表示される。念のためインストールを行い動作を確認\\ (正常終了した時点で一般公開されている) pip install nlogging