创建一个只在启动时打开终端的Python / py2app应用程序?

时间:2009-12-10 17:33:06

标签: python macos py2app

我编写了一个很好的Python应用程序,它基本上是一个用于SMS调制解调器的HTTP代理,我想让它成为Mac上的双击应用程序。到目前为止,我已经包含了一个可双击的.commmand文件,该文件基本上由

组成
cd `dirname $0`
(sleep 8;open http://127.0.0.1:8080/)&
mac/slingshotsms.app/Contents/MacOS/slingshotsms

如何使主.app可执行文件调用到另一个地方/或者什么是最简单的方法来创建一个基本上是终端实用程序的包装器并且只显示其输出的应用程序?目前双击应用程序将使用Mac上的打开实用程序 - 我想模仿双击应用程序图标时双击Contents / MacOS / slingshotsms的行为。任何提示?

3 个答案:

答案 0 :(得分:1)

如果您正在寻找'easy',请尝试为您的python脚本添加.command后缀,并确保它是可执行的。例如:

#!/usr/bin/env python
# file: hello.command

print 'hello world'

如果您正在寻找'抛光',那么您可能想了解Launch Services,PyObjC,Interface Builder,NIB文件,app包装器以及各种Mac OS X特定的技术细节。但是,请注意,PyObjC几乎不可能用于任何非平凡的事情,或多或少不知道如何使用Objective-C Cocoa API执行相同的任务。 PyObjC是围绕这些API的一个相当薄的包装器,你必须知道Cocoa习语/设计模式才能理解移动部件如何组合在一起。

答案 1 :(得分:1)

如果你实际上并不需要一个终端,而只是想要一个围绕脚本的应用程序包装器,请查看Platypus

答案 2 :(得分:0)

编写AppleScript应用程序,启动终端并运行Python脚本(将在应用程序的包中)。