2

如果这是一个愚蠢的问题,我很抱歉,但我整天都在寻找答案,但我找不到答案。我正在使用 PySide 在 Mac OS X 上使用 Cython 创建一个 gui 应用程序。由于速度问题,我选择使用 Cython。我想一个小问题是,我是否在无所事事地大惊小怪,我什至需要担心速度吗?

我听说 Cython 编译器会创建 .c 文件。但是,我不能将它们作为我的应用程序分发(显然)。我想将它作为应用程序包 (.app) 分发,而不仅仅是一个可执行文件。

我曾尝试使用 Xcode 编译 c 代码,但它会创建一个 Unix 可执行文件,该文件在运行时会打开一个终端窗口,这是不可接受的,因为我的应用程序有自己的 gui。

我还查看了有关捆绑包的 Apple 文档,如果需要,我可以手动创建一个,但我更喜欢由 xcode(或其他程序)创建捆绑包,因此涉及的混乱更少。

编辑:
我不会从 Cython 中获得全速收益,但我相信我会从中获得大部分收益。将我的 Cython 代码编译成 python 包(.so 格式),然后从用 py2app 打包的 python 应用程序访问它,它所做的只是导入库并启动 gui 吗?这只是我想到的一个小解决方法,所以请随时告诉我它是否愚蠢。

4

1 回答 1

1

将我的 Cython 代码编译成 python 包(.so 格式),然后从用 py2app 打包的 python 应用程序访问它,它所做的只是导入库并启动 gui 吗?

这就是 Cython 所做的。它首先生成优化.c.h文件,然后将它们编译成 python 包作为共享对象.so文件。所以答案应该是肯定的。实际上,一旦编译,它就.so独立于生成的源文件,并且应该可以被任何嵌入 Python 解释器的第三方应用程序动态加载。Py2app 应该没问题。至少我是这么认为的...

其余的,我对 Xcode 知之甚少。

编辑:可以看看--use-pythonpath和/或--frameworkspy2app 的选项。

于 2013-06-21T09:29:48.057 回答