質問

- 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.so
sip.so: Mach-O 64-bit bundle x86_64
.

Pythonを64ビットモードで強制的に実行する方法は?TextMateで同じコードを実行すると、問題はありません。だから、私はTextMateはとにかく64ビットモードで実行されるべきだと思います。

を加えた

  • このリンク実行中のPythonが32bitまたは64bitであるかどうかを識別する方法を示します。そして私のPythonは32ビットであることをチェックしました。
  • このリンクには、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に変更してください。

他のヒント

大丈夫、あなたがこれをするときに本当に注意してください、他のことも64ビットになることを要求するつもりです。mod_pythonがうまくいかない場合は、突然、あなたはApacheを再コンパイルする必要があります。それからすべてのあなたのPythonモジュールはtkinter / tixのようなものです。あなたが私のように10.5にいるなら、そこに行かないでください。

そしてあなたが知らない場合は、 http://www.macports.org/ それはあなたの友達です。: - )

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top