Hatena::Groupfukuoka-py

ikikko.py このページをアンテナに追加 RSSフィード

2009-02-18

setup.pyのスペルミスにはまる

01:55 |  setup.pyのスペルミスにはまる - ikikko.py を含むブックマーク はてなブックマーク -  setup.pyのスペルミスにはまる - ikikko.py  setup.pyのスペルミスにはまる - ikikko.py のブックマークコメント

前のエントリは12月か、結構空いてますね。

Sap2SvnPluginリリース! - @ikikko のはてなブログtracプラグインをリリースしました。今日は、その際の配布モジュールを作る際にはまった話を。(参考:404 Not Found

ま、一言で言えば単なるスペルミスなのですがw


trac/plugindev - Shibuya.trac Wiki - Shibuya.trac - OSDNらへんを参考にしながらプラグインを作り、動作検証もあらかた終えて、さぁリリースしようと思ったときの出来事。試しに「python setup.py bdist_egg」でeggファイルを作ろうとしても、何故かモジュールがeggファイルに入ってきません。よくよく出力ログを見てみると、以下のような警告が。

C:\TracLight\python\Lib\distutils\dist.py:263: UserWarning: Unknown distribution option: 'package'
  warnings.warn(msg)

(中略)

warning: install_lib: 'build\lib' does not exist -- no Python modules to install

最初、後者の「build\lib」ディレクトリがねーよという警告ばかりチェックして、手動でディレクトリ作成とかしてみたりしました。一応、それでeggが作られるようにはなったのですが、何だか気持ち悪いなと。で、前者の警告を見落としていたので、こっちから追っていってみました。

すると、setup.pyが

from setuptools import find_packages, setup

setup(

    ### 中略 ###

    package=find_packages(exclude=["*.tests*"]),

    ### 中略 ###

)

となっているではないですか!?これはもしや?と思い、↓のように変更して再度トライ。

    packages=find_packages(exclude=["*.tests*"]),

普通にうまくいくじゃないですか…orz


教訓:サンプルコードは手でタイプするな、コピペしろ*1

*1:ただし、コピペより実際にタイプした方が理解は進むんですよね・・・