【问题标题】:Is it possible to use Cocoa API with Python?是否可以将 Cocoa API 与 Python 一起使用?
【发布时间】:2019-08-12 10:40:25
【问题描述】:

我想知道是否可以将 Cocoa(Apple 的 API)与 Python 一起使用,以便能够运行像 link 这样的任何代码,以及 NSWorkspace 函数等等,这可能是一个超级愚蠢的问题,但是我还在想这是否可能......

【问题讨论】:

    标签: python python-3.x macos cocoa


    【解决方案1】:

    是的。

    有 Python 包,一种围绕 Objective-C 的包装器,像这样安装它们:

    $ pip install pyobjc-core
    $ pip pyobjc-framework-Cocoa
    $ pip pyobjc-framework-Quartz
    

    https://pypi.org/project/pyobjc-framework-Cocoa/

    【讨论】:

    • 如果你不介意的话,你能展示一下如何使用 pyobjc 来执行一个像 NSWorkspace.shared.openFile() 这样的函数吗?
    • 在使用from AppKit import NSWorkspace 导入NSWorkspace 后,我使用NSWorkspace.sharedWorkspace().runningApplications() 检索the list of running apps。尝试使用类似的方法,我现在不在 OS X 附近进行检查。
    • 似乎无法安装 AppKit... 或者至少 python 找不到模块,即使我像你一样做了,并且安装了你告诉我要安装的所有东西。 ..
    • 不知道,我已经成功安装并使用了它,请查看第 91-102 行中的 Travis-CI log。安装很顺利,所有测试都通过了。
    • @ipaleka - 出于好奇,PyObjC 是否与 Xcode 一起安装?我的系统上有它——至少,我可以通过 python 访问 objc 元素——但我不记得曾经手动安装过它。
    【解决方案2】:

    MacOS 默认带有 python 2.7 和 pyObjC 2.5,并且已经使用了多年。如果你想要更新版本的 python,例如 python 3,或者最新版本的 pyObjC,那么你必须自己安装它。

    pyObjC is 5.2最新版。

    但是,至少从 Snow Leopard 开始默认安装 MacOS,以下应该可以工作:

    python
       >>> import Appkit
       >>> AppKit.NSWorkspace.sharedWorkspace().runningApplications()
    

    Catalina 据说是最后一个捆绑了 python 的版本。

    【讨论】:

      猜你喜欢
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      相关资源
      最近更新 更多