Я получил следующую ошибку при компиляции sip с параметром --arch x86_64.
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 (снежный барс) универсален, и он не получает 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.so
sip.so: Mach-O 64-bit bundle x86_64
Как заставить Python работать в 64-битном режиме? Когда я запускаю тот же код на TextMate, нет проблем. Итак, я думаю, Textmate должен работать в 64-битном режиме в любом случае.
Добавлена
- Эта ссылка показывает, как определить, является ли питон, на котором я работаю, 32-битным или 64-битным. И я проверил, что мой питон 32-битный.
- Эта ссылка показывает, как сделать 32/64-битный питон. Но это не работает для меня.