如何“弱链接”到macosx上的Python框架?

2024-04-26 10:13:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个应用程序,它可以链接到macosx的内置Python框架,并在macosx10.5、10.6和10.7上运行。在

  1. 如果我尝试硬链接到框架(默认),Leopard抱怨说他找不到10.7。在
  2. 如果我试图弱链接框架(在编译器标志中使用-weak_framework Python)

在这两种情况下,macosx部署目标都设置为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;
}

这个程序在macosxlion上运行,但在macosxleopard上崩溃。它给出一个“异常退出:总线错误”和EXC_BAD_ACCESS(SIGBUS)异常(因为它引用地址0)。在

有办法吗

测试程序的zip文件可从以下位置获得:

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


Tags: pyimport框架应用程序编译器os链接main
1条回答
网友
1楼 · 发布于 2024-04-26 10:13:38

我不知道你想在这里做什么,但这里有一些建议。在这三个操作系统版本中,系统Python框架唯一通用的Python版本是python2.5,因此您可以显式地针对该版本。但是,更有可能的是,最好在应用程序中打包自己的Python框架。如果你很小心,你可以使用其中一个python.org 32-bit only installers来达到这个目的,尽管使用一个专门为10.5+构建的程序可能更好,尤其是如果你需要为你的应用程序在10.7上构建C扩展模块。py2app可以通过捆绑非系统Python框架来创建独立的Python应用程序,而不需要Objective C前端。也许你可以用它来达到你的目的。在

相关问题 更多 >