3

我使用 PyInstaller 为我的 python2.7 包构建了一个 mac os x 应用程序包。双击应用程序图标暂时弹出控制台窗口,但立即消失。但是,双击展开的“Contents/MacOS/executable”会正确弹出预期的窗口。

以下是我扩展的应用程序内容的简短屏幕。Frameworks 文件夹为空,Resources 文件夹包含图标,MacOS 文件夹包含所有二进制库和可执行文件(如上所述运行正常)。不确定修改 info.plist 是否有帮助。

在此处输入图像描述

4

2 回答 2

1

你试过用-w国旗吗?从文档:

-w, --windowed, --noconsole

使用窗口子系统可执行文件,在 Windows 上启动程序时不会打开控制台。在 Mac OS X 上创建 .app 包时,此选项是必需的。

于 2013-08-21T18:41:39.470 回答
0

我不确定这意味着什么:“应用程序仅是后台=是”?

我试图用我的应用程序 foo 和 Pyinstaller 的 ...947 构建(最近的开发版本)复制您的问题。我使用 --onefile --windowed args 到 Pyinstaller。我发现在 Finder 中,双击 build/foo 会启动一个控制台,然后会出现应用程序窗口。双击捆绑包 build/foo.app 似乎没有启动控制台,并且出现了我的应用程序窗口。换句话说,它对我有用。

另一方面,我尝试了另一个打包程序:Whitebox Packages 在创建包时,我将 pyinstaller/foo/build/foo 文件(可执行文件)放入包中。等等。 'Packages' 为我创建了一个 .mpkg 文件,我安装了它。然后,当我调用我的应用程序时,确实出现了一个控制台,它们是我的应用程序的窗口。(这不好,我不想要控制台。)我不明白包的哪些属性使应用程序在没有控制台的情况下启动。我不认为可执行文件包含启动控制台的shell,它必须是启动控制台的OSX。

可能,由于存在其他工具,因此正确执行“打包分发”并不是 PyInstaller 项目的高优先级。

于 2014-01-02T13:19:53.777 回答