我刚刚开始学习如何集成Python和Mac OS应用程序。(我想调用一些从Cocoa到Python的方法。)我遇到过这些术语--脚本桥、PyObjC和py2app。有什么关系呢?PyObjC是脚本桥的一个例子吗?py2app什么时候开始发挥作用呢?
发布于 2012-06-06 03:14:53
简而言之: PyObjC是你调用Mac的方式,脚本桥是你与其他应用程序脚本接口对话的方式。更详细地说:
PyObjC是Python语言和Objective C运行时之间的桥梁(以及在这个桥梁上简单构建的一组Cocoa包装器,以及一些非常方便的东西)。如果您想调用Cocoa方法,您可以使用PyObjC,通常是通过导入Cocoa或基础。
Scripting Bridge是Python语言和Apple基于事件的脚本系统之间的桥梁。如果你想调用另一个应用的脚本接口,你可以使用scripting Bridge。(在大多数情况下,如果您正在使用脚本桥,您还需要导入基础,因为脚本桥处理的是NSArrays等内容。)
因此,PyObjC不是脚本桥的一个例子。脚本桥的一个例子是,脚本桥,或Appscript (它更好,但不是来自Apple,也不再维护)。
py2app与这两者都没有太多关系;它是一种将Python应用程序及其所需的所有扩展模块和Python解释器打包到一个.app包中的方法,您可以将其分发给用户,这样他们只需双击即可运行它。当然,大多数这样的应用程序都会有GUI,其中许多会使用PyObjC直接在Cocoa中创建这些GUI(而不是使用PyQt或wxPython),但除此之外,没有真正的连接。
https://stackoverflow.com/questions/10902671
复制相似问题