0

我想做一个 Cocoa OS X 应用程序。我更喜欢在它的核心中使用 python 脚本。但是,不确定它有多安全。我知道python渗透率很高,但是版本冲突和迁移呢?将整个 python 运行时捆绑到 OS X 应用程序中是否值得?

谢谢。

4

2 回答 2

2

你应该使用py2app。它将一个 Python 可执行文件、您需要的所有库和您的脚本捆绑到一个可执行文件中。然后,您可以将其他可执行文件(例如您的 Objective-C 部分)添加到该应用程序包中。

于 2013-04-24T18:08:33.863 回答
2

所以....这真正归结为跨版本的兼容性问题,脚本语言在维护方面是出了名的糟糕。Python 做得比大多数都好,但它仍然存在很大问题。

正是出于这个原因,Apple通常在系统上发布了旧版本的解释器。因此,如果您确实依赖系统安装的 Python,我建议您锁定到特定版本。即使用/usr/bin/python2.6而不是通用的/usr/bin/python.

替代方案如您所说;将 python 解释器和任何需要的资源捆绑到您的应用程序中。这有点麻烦,但它解决了兼容性问题。或多或少; 现实情况是,Python 实际上是操作系统的一个接口,因此它非常大,有可能突破任何版本。不过,你对此无能为力。

另一种可能性是走@kindall 建议的路线;使用 PyObjC 并完全或大部分在 Python 中实现您的 Cocoa 应用程序。工作正常。坦率地说,去过那里,做过,不会再做,因为大型脚本应用程序的维护/调试问题很讨厌。

作为替代方案,您可能希望使用 Lua ( http://www.lua.org ) 进行调查,因为它非常适合嵌入到应用程序中。Lua 有一个小型解释器,您可以完全控制在运行时可以访问应用程序的哪些功能。例如,魔兽世界的 UI 主要是作为 Lua 实现的,它把一组快速的 UI 原语粘合在一起。在客户端完全可定制,当您考虑安全隐患时,这确实令人印象深刻。

于 2013-04-24T18:23:17.880 回答