宝くじプログラムが完成した暁には、PyPIに登録するつもりなので、あらかじめパッケージを作っておく。
デフォルトパッケージを作成するまでの作業内容は、以下の通り。
宝くじプログラム用開発環境の構築
$ virtualenv lotopy
デフォルトパッケージ作成
lotopyディレクトリに入り、必要なパッケージをインストールする。
$ cd lotopy $ source bin/activate ※lotopy環境のコマンドを使えるようにする $ pip install PasteScript
パッケージの作成。
とりあえず、パッケージ名をlotopyとする。
もし、既に使われている場合は後で変更する。
$ paster create -t basic_package lotopy
いろいろ聞いてくるので、適当な内容を入力する。
(入力内容)
version: 0.0.1
description: show loto numbers.
long description: 同上
keywords: 空白
author: solima
author_email: 空白
url: http://www.solima.net/
license_name: GPL
zip_safe: False
以上で、デフォルトパッケージが作成された。
コマンドプログラムの作成
現在の予定では、この宝くじプログラムはコマンドラインから
$ python loto.py 宝くじ種別
のように打ち込んで使うことを想定している。
そのためには、エントリーポイントなるものを設定しなければならない。
scripts/lotopy/setup.pyを開き、以下のように編集する。
# 23行目付近 entry_points=""" # -*- Entry points: -*- [console_scripts] loto = lotopy.loto:main """
■エントリーポイントのプログラムを作成する
lotopy(パッケージルートディレクトリ)にloto.pyというスクリプトファイルを作成する。
loto.py
def main(): print('当選番号をお知らせします。')
■パッケージのコンパイル
$ python setup.py bdist_egg
■開発中のコードを宝くじプログラム開発環境のsite-packagesディレクトリの中からリンクさせる
$ python setup.py develop
これで、lotoコマンドが使えるようになった。
また、スクリプトファイルを修正した場合でも、いちいちパッケージを再インストールする必要がなくなる。
一応、ちゃんと動くか確かめてみる。
開発環境のPython関連コマンドがオンになっている状態で、lotoコマンドを打ち込む。
$ loto 当選番号をお知らせします
順調、順調♪