kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

PPP3: パッケージ作成

03-03 ファイル構成とパッケージリリース

setup.pyを書く、っていうのはHFP2でもやったけどこっちのほうが
いろいろと出てきてる感じなので見ていく

03-03-01 setup.pyを書く

Pythonでのパッケージングはsetup.pyで行う
最小限のsetup.py

from setuptools import setup

setup(name="norilog")

python setup.py --help-commandsでヘルプ
sdistは“create a source distribution (tarball, zip file, etc.)”って
ことだったのか
なるほど

03-03-02 乗りログのプロジェクト構成

norilog.pyを__init__.pyにリネーム
__init__.pyってなんだっけな

ライブラリをこんな感じにやるのは普通っぽいと思うけど
アプリケーション自体をそうするってのも普通にやるんだろうか

03-03-03 setup.pyとMANIFEST.in: パッケージ情報と同梱するファイルの設定

find_packages() 現在のディレクトリ配下にあるPythonパッケージを列挙
といっても具体的にどんな風になってるのかよくわからないけど
こう書いてあればうまくやってくれるということだろう

MANIFEST.in .py以外のリソースを指定
install_package_data=Trueとセットで

03-03-04 setup.py: 実行コマンドの作成

entry_pointsで起動用のコマンドを作成
再度pip installするとvenv/Scriptsnorilog.exeができていた
exeができちゃうんだ へー
仮想環境でなければどこにできるんだろう

03-03-05 python setup.py sdist: ソース配布パッケージを作る

ここであらためてパッケージを作成

03-03-06 リポジトリーにコミットする

ソースをGit管理にしてGitHubに登録

最上位ディレクトリにsetup.pyを置くように構成する
リポジトリからpip installできる

やっぱりvenvはignoreするんだなそりゃそうだな