在32位mod中运行OS X通用二进制文件

2024-10-01 15:34:04 发布

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

我有一个第三方库(Xerox有限状态工具的接口),它是通用二进制文件,内部有两个变体:PPC和i386变体。我还有一个到库的Python接口(它使用ctypes)。在

但当我试图运行Python接口提供的示例代码时,我收到一个错误,抱怨库的体系结构错误:

ImportError: dlopen(/Users/arne/sw/lib/libxcfsm.dylib, 10): no suitable image found. Did find:
/Users/arne/sw/lib/libxcfsm.dylib: mach-o, but wrong architecture

据我所知,这是因为除了我的库中的两个版本之外,python的可执行文件在内部还有一个x86_64变体,并且更喜欢在这种模式下运行。我有没有办法强制python可执行文件启动i386版本而不是x86_64版本,只为一些脚本?在


Tags: 工具版本可执行文件状态lib错误变体sw
2条回答

如果不使用系统python,可以继续向~/.bash_profile添加一行:

export VERSIONER_PYTHON_PREFER_32_BIT=yes

如果您使用的是苹果系统python(在雪豹上),您可以使用

arch -i386 python

例如:

^{pr2}$

以32位模式启动解释器。您还可以为系统python设置一个环境变量(VERSIONER_python_PREFER_32_BIT)。在

如果它是您自己构建的python,那么目前存在一个与arch选择有关的bug,但是如果您使用pythonw.c从this ticket重新构建它,它可以正常工作。在

相关问题 更多 >

    热门问题