py2app (Mac OS X 10.6) と py2exe (Win XP と Win7) を使用して、python ベースのスタンドアロン アプリケーションを構築しています。最近、ライブラリ patsy に依存する関数のサポートを追加しました。ただし、ソフトウェアの py2app または py2exe バージョンをビルドする場合、patsy の「init .pyc」および「origin.pyc」ファイルのみが site-packages.zip patsy フォルダーに含まれます (20 個の追加の Python モジュール ファイルを除く)。patsy をインポートすると、スタンドアロン アプリが「ImportError: No module named highlevel」というエラーをスローします (highlevel は patsy モジュールです)。
これに対する厄介な回避策は、不足している .pyd モジュールを site-packages.zip の patsy ディレクトリに入れることですが、これは理想的ではありません。py2app コードの簡単な例を示しますが、同じことが py2exe にも当てはまります。
test_import.py
import patsy
print 'hello patsy'
setup.py
includes = ["patsy"]
from distutils.core import setup
import py2app
import patsy
from patsy import highlevel
options = {"py2app":{"includes": includes}}
setup(name='test',app=["test_import.py"],setup_requires=["py2app"])
どんな推奨事項も大歓迎です。ありがとう。