setuptoolsを使ってコマンドツールを作る
pasterでsetuptoolsを使った最小プロジェクトを作成する。
paster create hello
setup.pyを編集。
コマンドツールのスクリプトを追加する。
ここでは、helloモジュールのhello関数をpyhelloという名前のコマンドにする。
entory_pointsにconsole_scriptsセクションを作りその中に追加する。
from setuptools import setup, find_packages import sys, os version = '0.0' setup(name='hello', version=version, description="", long_description="""\ """, classifiers=[], # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers keywords='', author='', author_email='', url='', license='', packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), include_package_data=True, zip_safe=False, install_requires=[ # -*- Extra requirements: -*- ], entry_points=""" # -*- Entry points: -*- [console_scripts] pyhello = hello:hello """, )
setup.pyを変更したら、EGG_INFOを更新する。
python setup.py egg_info
# import sys def hello(): if len(sys.argv) > 1: print "Hello, %s!" % sys.argv[1] else: print "Hello, world!"
installしてもいいけど、developを使えば今編集しているソースツリーをsite-packagesから参照するようになる。
python setup.py develop
コマンドはプラットフォームごとに適当な方法で作成される。
Windowsなら、c:\Python25\Scripts 以下にpyhello.exeができているはず。
c:\Python25\Scripts にPATHを通してあるならそのまま pyhello と入力すれば実行できる。