pythonの配布可能なpackageの作り方(setuptoolsを使ってhelloコマンドを作ろう)
珍しく技術ネタです。
今日はpythonでsetuptoolsを用いて、配布可能なpackageを作りたいと思います。
やりたいこと
- ”Hello, world!”と標準出力に表示するhelloというコマンドを作る。
- 上記を、setuptoolsを用いてPythonの配布可能なpackageで実現する。
構成
root/ ├ hello/ │ ├ __init__.py │ └ hello.py └ setup.py
コード
説明
説明するほどでもないですが、setup.pyの内容について少し付け加えます。
packagesについては、hello.pyのあるpackageであるhelloのみをpackageとして登録しています。
複雑になっていく場合はsetuptoolsのfind_packages()を使ったほうが楽に済ませられます。(参照:Building and Distributing Packages with Setuptools — setuptools 35.0.0 documentation)
entry_pointsについては、command名helloをhello package内にあるhello.pyのhello functionと関連付けることで?、commandとしてhelloが実行可能になります。
動かしてみる
packageのbuild&install
> python3 setup.py install > hello Hello, world!
packageのbuildのみ
> python3 setup.py sdist > ls dist hello-0.0.1.tar.gz
最後に
以上で、helloコマンドが実現可能になりました。
次回はもうpypiにpackageを登録するところをやってみたいと思います。