如果这是一个愚蠢的问题,我很抱歉,但我一整天都在寻找答案,但我找不到答案。我正在使用PySide在Mac OS X上使用Cython创建一个gui应用程序。由于速度问题,我选择使用Cython。我想有一个小问题,我是在做什么大惊小怪,我还需要担心速度吗?
我听说Cython编译器会创建.c文件。但是,我不能将这些作为我的应用程序分发(显然)。我想将它作为应用程序包(.app)分发,而不仅仅是一个可执行文件。
我尝试使用Xcode编译c代码,但是它创建了一个Unix可执行文件,在运行时会打开一个终止窗口,这是不可接受的,因为我的应用程序有自己的gui。
我还查看了有关bundle的Apple文档,如果需要的话我可以手动创建一个,但我更喜欢使用xcode(或其他程序)创建的bundle,所以不会涉及到麻烦。 / p>
修改
我不会从Cython获得完全速度的好处,但我相信我会得到大部分。是否可以将我的Cython代码编译成python包(以.so格式),然后从py2app打包的python应用程序访问它,它所做的只是导入库并启动gui?这只是我想到的一个小解决方法,所以请随时告诉我它是否是愚蠢的。
答案 0 :(得分:1)
将我的Cython代码编译成python包(在 .so格式),然后从打包的python应用程序访问它 py2app,它所做的只是导入库并启动gui?
这就是Cython所做的。它首先生成优化的.c
和.h
文件,然后将它们编译为python包作为共享对象.so
文件。所以答案应该是肯定的。实际上,一旦编译,.so
独立于生成的源文件,并且可以由嵌入Python解释器的任何第三方应用程序动态加载。 Py2app应该没问题。至少我想是这样......
对于其他人,我对Xcode了解不多。
编辑:可以查看--use-pythonpath
和/或--frameworks
py2app的选项。