有可能用Python使用Cocoa API吗?

5 人关注

我在想,是否有可能将Cocoa(苹果的API)与Python一起使用,因此能够像这样运行任何代码 link ,所以NSWorkspace的功能等等,这可能是一个超级愚蠢的问题,但我还是想知道是否有可能......

python
python-3.x
macos
cocoa
undefinedChar
undefinedChar
发布于 2019-08-12
2 个回答
ipaleka
ipaleka
发布于 2019-08-25
已采纳
0 人赞同

有一些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()这样的函数吗?
I retrieve 运行中的应用程序列表 在NSWorkspace以 NSWorkspace.sharedWorkspace().runningApplications() 导入后,以 from AppKit import NSWorkspace 导入。用类似的方法试试,我现在不在OS X附近,无法检查。
似乎无法安装 AppKit......或者说至少python找不到这个模块,尽管我按你说的做了,并且安装了你让我安装的所有东西......
不知道,我已经成功地安装并使用了它,看看这个 特拉维斯-CI日志 从第91-102行。那次安装很顺利,所有的测试都通过了。
@ipaleka - 出于好奇,PyObjC是否与Xcode一起安装?我的系统上有它--至少,我可以通过python访问objc元素--但我不记得曾经手动安装过它。
benwiggy
benwiggy
发布于 2019-08-25
0 人赞同

MacOS默认带有python 2.7和pyObjC 2.5,并且多年来一直如此。如果你想要一个更新的python版本,比如python 3,或者最新版本的pyObjC,那么你必须自己安装。

最新版本的 pyObjC is 5.2 .

然而,在至少从雪豹开始的MacOS默认安装中,以下内容应该是可行的。

python