如何获取有关py2app错误的更多信息?

如何获取有关py2app错误的更多信息?,py2app,Py2app,我正在尝试使用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 /Use

我正在尝试使用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
这将在没有警告或错误的情况下完成,但当我尝试运行结果应用程序时,会弹出一个窗口,简单地显示“VoxPouli错误”。它有一个“打开控制台”按钮,但唯一的控制台消息是

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中获取更多信息以帮助诊断此错误?

我认为这是应用程序的问题,而不是py2app的问题

如果应用程序遇到未处理的异常,它将像这样退出。您使用的是哪个版本的osx?在10.8中,它们停止自动将
stderr
转发到控制台,因此可以将应用程序
stdout
stderr
通过管道传输到一个文件,以查看是否有堆栈跟踪

虽然C++中有一个错误,但我猜您不会看到堆栈跟踪,但是错误可能在应用程序的那部分。


如果你真的找不到问题,试着从应用程序中剥离大部分直到它运行,然后再添加位直到它不运行,然后剥离等(如二进制搜索)来尝试找到有问题的部分。

构建包后,你仍然可以从命令行运行“应用程序”

例如,对于
~/Projects/MyApp
内置到文件夹
~/Projects/MyApp/dist
中的项目,您应该发现可以从命令行运行以下命令:
~/Projects/MyApp/dist/MyApp.app/Contents/MacOS/MyApp

这将把所有正常的stderr消息输出到控制台,以便您可以看到出了什么问题