kukkuのメモ帳

勉強したこと,思ったこと,あったことをつらつら書いていきます

作ったPython製パッケージをPyPIに登録する手順(2018年1月版)

以前の記事で作成したスクリプトPyPIに登録したのですがちょっと詰まったので、2018年1月時点でのPyPI登録手順をまとめました。

kukku2123.hatenablog.com

まず

testpypi でPyPI登録を試すことが出来ますが、ここでは行いません。

フォルダ構成

前回記事で紹介したフォルダ構成はこんな感じです。

plotlog/
    plotlog/
        __init__.py
        main.py
        datacut.py
        ....
    test/
    example/
    README
    setup.py

最初main.pyをplotlog.pyとしていたのですが、他のクラスのimport時にエラーが出て詰まっていました。

登録手順

PyPIに登録

次のページから登録します。

User Registration : Python Package Index

~/.pypirc記述

これをすることでPyPIにアップする際パスワードを毎回打ち込む必要がなくなります。

[distutils]
index-servers =
  pypi

[pypi]
username: "Your user name"
password: "Your password"

PCに平文で保存されるので注意してください。

setup.pyの作成

他記事に色々上がっているので省略します。

sdist作成

PyPIにアップするための圧縮ファイルを作成します。

python setup.py sdist

確認

次のコマンドで先程作成した圧縮ファイルからインストールが出来ます。 ここで挙動を確認してください。

また、新しく仮想環境を作ってから確認することをおすすめします。 Python3.3以降で公式にvenvが追加されたので、ここではこれを使います。

python -m venv check
source check/bin/activate
pip install dist/.....tar.gz

wheel作成

あったほうがいいらしいのでwheelを作成します。

pip install wheel
python setup.py bdist_wheel

アップロード

PyPIにアップロードします。 現在はregistarを行う必要はないそうです。

pip install twine
twine upload dist/*

まとめ

以上です。

他記事も色々あるのですが、ありすぎて混乱したので一旦まとめてみました。 参考になったら嬉しいです。