私のコンピューターでテストされ、完全に動作する Python でアプリケーションを作成しました (Mac OSX 10.8.3 Python2.7.3 Postgresql9.2.4 Psycopg2-2.5)。アプリは py2app を使用してコンパイルされており、ビルドによってすべてのパッケージ/モジュールがアプリケーションのコンテンツ フォルダーに正常に含まれていることがわかります。
Psycopg2 は私のマシンに正しくインポートされ、アプリは正常に動作しますが、アプリケーションが別のコンピューターで実行されると (私は 4 つの異なるコンピューターを試しました...)、開くことができず、コンソール メッセージに ImportError: dlopen(/ Applications/app.app/Contents/Resources/lib/python2.7/psycopg2/_psycopg.so、2): ライブラリがロードされていません: libpq.5.dylib
SOとGoogleでコードを広範囲に検索して変更しましたが、役に立ちませんでした。psycopg2 リンクも、特にこの問題に対処していません。http://initd.org/psycopg/articles/2010/11/11/links-about-building-psycopg-mac-os-x/
ソース、macports、自作などからビルドして、psycopg2とpostgresqlを何度も削除して再インストールしました。現在の環境は上記にリストされており、postgresql 9.2.4が自作でインストールされ、psycopg2-2.5がソースからインストールされ、pg_configの場所を明示的にリンクしていますsetup.cfg で
_psycopg.so で otool -l を実行すると、次のようになります。
/usr/lib/libpq.5.dylib (compatibility version 5.0.0, current version 5.4.0)
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
ビルドされたアプリケーションにこれらのファイルを含める (または利用可能な場合はターゲット ユーザーにファイルを参照させる) にはどうすればよいですか? これは正しいアプローチですか?もちろん、Py2app は /usr/lib/ のシステム ファイルを "frameworks" オプションに含めません。