gpt4 book ai didi

python - 如何在 Mac OS X 上强制使用 64 位 python?

转载 作者:太空狗 更新时间:2023-10-30 02:23:33 26 4
gpt4 key购买 nike

使用 --arch x86_64 选项编译 sip 时出现以下错误。

prosseek:siplib smcho$ python -c 'import sip; print sip'Traceback (most recent call last):  File "", line 1, in ImportError: dlopen(./sip.so, 2): no suitable image found.  Did find:        ./sip.so: mach-o, but wrong architecture

我发现预建的 Mac OS X python (snow leopard) 是通用的,它没有 64 位库。我猜它在 32 位模式下运行。

file /usr/bin/python /usr/bin/python: Mach-O universal binary with 3 architectures/usr/bin/python (for architecture x86_64):      Mach-O 64-bit executable x86_64/usr/bin/python (for architecture i386):        Mach-O executable i386/usr/bin/python (for architecture ppc7400):     Mach-O executable ppc
prosseek:siplib smcho$ file sip.sosip.so: Mach-O 64-bit bundle x86_64

如何强制 python 在 64 位模式下运行?当我在 Textmate 上运行相同的代码时,没有问题。所以,我认为 Textmate 无论如何都应该在 64 位模式下运行。

已添加

  • This link展示了如何识别我正在运行的 python 是 32 位还是 64 位。我检查了我的 python 是 32 位的。
  • This link展示了如何制作 32/64 位 python。但这对我不起作用。

最佳答案

尝试使用 arch(1) , 并提供特定版本的 Python:

arch -x86_64 /usr/bin/python2.6

实际上系统应该为你选择第一个合适的架构。作为

$ file /usr/bin/python2.5
/usr/bin/python2.5: Mach-O universal binary with 2 architectures
/usr/bin/python2.5 (for architecture i386): Mach-O executable i386
/usr/bin/python2.5 (for architecture ppc7400): Mach-O executable ppc

$ file /usr/bin/python2.6
/usr/bin/python2.6: Mach-O universal binary with 3 architectures
/usr/bin/python2.6 (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python2.6 (for architecture i386): Mach-O executable i386
/usr/bin/python2.6 (for architecture ppc7400): Mach-O executable ppc

如果那个 python 以某种方式选择了 2.5,那么您就不能使用 64 位,但是如果它选择了 2.6,那么应该自动选择 x86_64 变体,如下所述。如果是前者,请尝试获取 python_select 并将版本更改为 2.6。

关于python - 如何在 Mac OS X 上强制使用 64 位 python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3207324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com