python - 如何将 "weak link"发送到 Mac OS X 上的 Python 框架?

标签 python xcode macos pyobjc

我正在尝试创建一个可以链接到 Mac OS X 的内置 Python 框架并使其在 Mac OS X 10.5、10.6 和 10.7 上运行的应用程序。

  1. 如果我尝试硬链接(hard link)到框架(默认),Leopard 会提示找不到 10.7。
  2. 如果我尝试弱链接框架(在编译器标志中使用 -weak_framework Python),

在这两种情况下,Mac OS X 部署目标都设置为 10.5。

我的 main.m 看起来像这样:

#import <Python/Python.h>
#import <Cocoa/Cocoa.h>

int main(int argc, char *argv[])
{
    Py_SetProgramName("/usr/bin/python");
    Py_Initialize();
    PyRun_SimpleString("import os; os.system('say okay')");
    return 0;
}

该程序在 Mac OS X Lion 上运行,但在 Mac OS X Leopard 上崩溃。它给出“异常退出:总线错误”,并带有 EXC_BAD_ACCESS (SIGBUS) 异常(因为它引用地址 0)。

有什么办法

此处提供了测试程序的 zip 文件:

http://slurf.net/files/TheWeakestLink.zip

最佳答案

我不确定您想在这里做什么,但这里有一些建议。这三个操作系统版本中的系统 Python 框架唯一通用的 Python 版本是 Python 2.5,因此您也许能够明确定位该版本。但是,更有可能的是,您最好将自己的 Python 框架打包到您的应用程序中。如果您小心的话,您可以使用 python.org 32-bit only installers 之一为此,尽管最好使用专为 10.5+ 构建的模块,特别是如果您需要为 10.7 上的应用程序构建 C 扩展模块。 py2app可以通过捆绑非系统Python框架来创建独立的Python应用程序,而不需要Objective C前端。也许您可以将它用于您的目的。

关于python - 如何将 "weak link"发送到 Mac OS X 上的 Python 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874167/

相关文章:

python - 具有干净命名空间的 Setuptools 子包

swift - 无法将类型 'Array<SKtexture>' 的值分配给类型 'SKTexture'

ios - 我需要单独的 Mac 用于 Mavericks 上的 OS X Server

macos - 我可以使用守护程序打开 DriverKit 用户客户端吗?

objective-c - 如何在 OS X 上的 Xcode 中更改鼠标光标?

macos - 我可以使用虚拟机代替物理机进行MacOS设备驱动程序开发吗?

python - Pandas 中的滚动行过滤器/交叉表?

python - psutil.test() 返回无。如何将其输出写入文件?

python - Python 中的正则化逻辑回归(Andrew ng 类(class))

xcode - CDN : trunk URL couldn't be downloaded:https://cdn. jsdelivr.net/cocoa/Specs/1/d/4/CocoaAsyncSocket/7.6.1/CocoaAsyncSocket.podspec.json