2012-09-21 84 views
4

我想使用py2app打包一個混合的Python/C++應用程序。我的setup.py是如何獲得更多關於py2app錯誤的信息?

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

,我通過

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

此完成,沒有警告或錯誤,但是當我嘗試運行resuling應用程序會彈出一個窗口,簡單地說,「voxpopuli錯誤調用py2app 」。它有一個「打開控制檯」按鈕,但唯一的控制檯消息

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,以幫助診斷這個錯誤?

回答

3

我相信這是與應用程序,而不是py2app一個問題。

如果應用匹配未處理的異常而退出了這個樣子。你正在使用哪個版本的osx?在10.8他們停止自動轉發stderr到控制檯,所以可能是一個想法,管的應用stdoutstderr到一個文件,看看是否你有一個堆棧跟蹤。

雖然如果它是在C錯誤++部分我猜你不會看到一個堆棧跟蹤,但該錯誤可能是在應用程序的一部分。

如果你實在找不出問題,請嘗試剝離大部分出應用程序,直到它運行在隨後直到它不運行加位背,然後剝離等(如二進制搜索),試圖找到違規的部分。

2

隨着包構建你仍然可以運行在命令行的「應用」。

例如,對於在~/Projects/MyApp項目建成文件夾~/Projects/MyApp/dist你會發現,你可以運行命令行下面:~/Projects/MyApp/dist/MyApp.app/Contents/MacOS/MyApp

這將輸出所有正常的標準錯誤信息到控制檯,所以你可以看到什麼錯誤。

相關問題