2012-09-26 43 views
1

我最近开始使用Tkinter,现在我想尝试wxPython,但我有一个主要问题:在Mac上,Python应用程序启动并运行gui。我正在使用鸭嘴兽,所以窗口已经有一个应用程序“附加”自己。为什么它也需要Python.app?有没有办法解决这个问题?这种方法感觉就像在Mac上在X11内部运行Windows应用程序一样。没有“Python.app”的Python GUI应用程序?

回答

2

您使用的工具是错误的工具。 Platypus的重点在于它可以将非GUI脚本转换为GUI应用程序。 “app”和“window”对脚本是不可见的,它认为它只是通过sys.argv接收内容并写入stdout。

Platypus documentation明确表示Platypus“不打算用于创建具有复杂用户交互的大量Mac OS X应用程序”。

wxPython文档说遍布你应该使用py2app(例如,http://wiki.wxpython.org/Optimizing%20for%20Mac%20OS%20X)在Mac上构建wx应用程序的地方。 (您可能会发现一些提及BundleBuilder的过期文档,但忽略该文档。)

如果您真的知道自己在做什么,也许可以忽略两个不同软件包的文档并强制它们一起做你想做的事,但除此之外,为什么要尝试?

如果你想打包一个GUI应用程序,它知道它的GUI - 不管它是TkInter,wx还是别的东西 - 那么这样做的方法是py2app。如果没有学习任何超出教程的内容,您可以将wxPython(或PyQt或TkInter或其他)脚本转换为可双击的Mac应用程序。您可以将其自定义为几乎任何您想要的程度(导出UTI,将图标分配给文件类型,...)。而wxPython的文档已经告诉你如何去做。

顺便说一下,我怀疑这里的一部分问题是您不知道OS X应用程序与Unix可执行文件之间的区别。但是如果你坚持使用跨平台工具包(如wx)和py2app,那么你可能会逃避这一切。