LoginSignup
0
0

More than 1 year has passed since last update.

PyPi に自分で作ったモジュールを登録する

Posted at

Pythonでパッケージを作って、PyPIに登録した時の作業メモ

今回の対象プロジェクト
sasaco/FEMPython

目的

自作モジュールをPyPIへ登録してpip installでインストールします。今回は簡単なコードを実装して使います。

方法

基本的に公式のチュートリアルに従います。個人的なこだわりで、wslを使ったりgithubに上げたり、仮想環境をpyvenvで作ったりしてますが、今回はそういう事が無くても出来るようにしているつもりです。何回かコマンドを使う必要がある為、そこで引っかかるかもしれません。そこは他の記事にお任せします。または後日、更新します。

必要なディレクトリやファイルを作る

FEMPython/
├── LICENSE
├── pyproject.toml
├── README.md
├── setup.cfg
├── src/
│   └── FEMPython/
│       ├── __init__.py
│       ├── AdvancedElement.py
│       ├── BarElement.py
│       ├── ....
│       └── Solver.py
└── tests/

公式のチュートリアルのままです。これを任意の場所に作ります。僕はデスクトップにPyPIフォルダを作ってその中で作業しています。

pyproject.tomlの編集

pyproject.toml は、ビルドツール(pip や build など)に対して、プロジェクトのビルドに必要な情報を伝えます。このチュートリアルでは setuptools を使用しますので、pyproject.toml を開いて以下の内容を入力してください。

[build-system]
requires = ["setuptools>=42"]
build-backend = "setuptools.build_meta"

setup.cfgの編集

前はsetup.pyを作るのが公式だったようですが、今はsetup.cfgとpyproject.tomlを使うようです。中身は公式にお任せしますが、変更点についてだけ、お話します。赤枠で囲まれている所を変更します。

[metadata]
name = FEMPython
version = 0.0.1
author = sasaco
author_email = sasaicco@gmail.com
description = A small example package
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/sasaco/FEMPython
project_urls =
    Bug Tracker = https://github.com/sasaco/FEMPython/issues
classifiers =
    Programming Language :: Python :: 3
    License :: OSI Approved :: MIT License
    Operating System :: OS Independent

[options]
package_dir =
    = src
packages = find:
python_requires = >=3.6

[options.packages.find]
where = src

buildする

次のステップは、そのパッケージの配布用パッケージを生成することです。これは Python Package Index にアップロードされるアーカイブで、pip でインストールすることができます。

最新版のbuildがインストールされていることを確認します。

python -m pip install --upgrade build

次に、pyproject.tomlがあるのと同じディレクトリから、このコマンドを実行します。

python -m build

このコマンドが完了するとdistディレクトリに2つのファイルを生成するはずです。

image.png

PyPITestへの登録

まずはじめに、あなたのパッケージをPython Package Indexにアップロードしましょう

最新版のtwineがインストールされていることを確認します。

python -m pip install --upgrade twine

PyPITestへの登録

python -m twine upload --repository testpypi dist/*

PyPITestへの登録

最後に、あなたのパッケージをPython Package Indexにアップロードしましょう

python -m twine upload dist/*

参考

0
0
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
0
0