私は現在、py2appを使用してcherrypyとdjangoを埋め込む小さなPythonアプリを書いています。私のアプリには小さなGUI(トップメニューバーの小さなアイコンとドロップダウンメニューで構成されています)が必要だったため、プロジェクトにpyobjcを含めようとするまではうまく機能しました。
pythonスクリプトは問題なく実行できますが(macportsでpython 2.6を使用しています)、py2appによって生成されたアプリケーションバンドルを起動できません。次のメッセージを含むダイアログボックスが表示されます。
ImportError:
dlopen(/Users/denis/tlon/standalone/mac/dist/django_cherry.app/Contents/Resources/lib/python2.6/lib-dynload/CoreFoundation/_inlines.so, 2): no suitable image found.
Did find:
/Users/denis/tlon/standalone/mac/dist/django_cherry.app/Contents/Resources/lib/python2.6/lib-dynload/CoreFoundation/_inlines.so: mach-o, but wrong architecture
私は簡単にやった:
sudo port -u install py26-pyobjc +universal
しかし、何らかの理由でmacportsはopensslをビルドしようとしますが、これを使用すると毎回コンパイルが失敗します。問題はzLibに関連しているようです-これはログに表示されるものです:
:info:build ld: warning: in /opt/local/lib/libz.dylib, file is not of required architecture
...そしてここに:の出力がありfile /opt/local/lib/libz.dylib
ます
/opt/local/lib/libz.dylib: Mach-O universal binary with 2 architectures
/opt/local/lib/libz.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/opt/local/lib/libz.dylib (for architecture i386): Mach-O dynamically linked shared library i386
私には何も悪いことはありません。
私はここで少し立ち往生しています。opensslがpyObjcと何の関係があるのかさえわかりませんが、コンパイルできなければどこにも行けないようです。Macportsは本当に時々吸う:/
編集私はMacportsの問題を修正することができましたが、py2appの問題は修正しませんでした:/