5

py2appを使用してPython/C++の混合アプリケーションをパッケージ化しようとしています。私のsetup.pyは

from setuptools import setup
setup(app=['voxpopuli.py'],data_files=[],options=
  {'py2app'{'argv_emulation':True}},setup_requires=['py2app'])

そして私はpy2appを経由して呼び出します

python setup.py py2app --no-strip --iconfile /Users/irving/otherlab/other/bin/OLicon.icns --resources /opt/local/lib/Resources/qt_menu.nib

これは警告やエラーなしで完了しますが、結果のアプリを実行しようとすると、単に「voxpopuliエラー」というウィンドウがポップアップします。「コンソールを開く」ボタンがありますが、コンソールメッセージは

9/21/12 11:43:14.691 AM voxpopuli[52765]: voxpopuli Error
9/21/12 11:43:15.926 AM com.apple.launchd.peruser.501[158]: ([0x0-0x177d77c].org.pythonmac.unspecified.voxpopuli[52765]) Exited with code: 255

このエラーの診断に役立つ、py2appからより多くの情報を取得する標準的な方法はありますか?

4

2 に答える 2

3

これは、ではなくアプリの問題だと思いますpy2app

アプリが未処理の例外に遭遇した場合、このように終了します。どのバージョンのosxを使用していますか?10.8では、コンソールへの自動転送が停止したため、アプリケーションとファイルをstderrパイプ処理して、スタックトレースがあるかどうかを確認することをお勧めします。stdoutstderr

C ++部分のエラーの場合、スタックトレースは表示されないと思いますが、エラーはアプリケーションのその部分にある可能性があります。

本当に問題が見つからない場合は、アプリが実行されるまで大きな部分を取り除き、実行されなくなるまでビットを追加してから、(バイナリ検索のように)削除して問題のある部分を見つけてください。

于 2012-10-06T11:06:19.703 に答える
3

パッケージがビルドされていても、コマンドラインから「アプリケーション」を実行できます。

たとえば、~/Projects/MyApp組み込みフォルダにあるプロジェクトの~/Projects/MyApp/dist場合、コマンドラインから次のコマンドを実行できることがわかります。~/Projects/MyApp/dist/MyApp.app/Contents/MacOS/MyApp

これにより、すべての通常のstderrメッセージがコンソールに出力されるため、何が問題になっているのかを確認できます。

于 2013-01-11T13:56:55.470 に答える