15

PyQt/SIP の使用に問題があります。SIP は 64 ビットにコンパイルされていると思いますが、Python はそれを見つけるのに問題があります。

  ファイル「qtdemo.py」の 46 行目
    輸入一口
ImportError: dlopen(/Library/Python/2.6/site-packages/sip.so, 2): 適切な画像が見つかりません。見つけた:
        /Library/Python/2.6/site-packages/sip.so: mach-o、しかし間違ったアーキテクチャ
  • ライブラリ (so/dylib) が 32 ビットか 64 ビットかを確認するにはどうすればよいですか?
  • Python が 32 ビットか 64 ビットかを確認するにはどうすればよいですか?
4

3 に答える 3

17

このfileツールを使用して、実行可能ファイルを識別できます。

例:

> file /Applications/TextEdit.app/Contents/MacOS/TextEdit 
/Applications/TextEdit.app/Contents/MacOS/TextEdit: Mach-O universal binary with 2 architectures
/Applications/TextEdit.app/Contents/MacOS/TextEdit (for architecture x86_64):   Mach-O 64-bit executable x86_64
/Applications/TextEdit.app/Contents/MacOS/TextEdit (for architecture i386): Mach-O executable i386
于 2010-07-08T19:35:21.350 に答える
8
lipo -info target/libexample-df07142d9bfd950a.a
input file target/libexample-df07142d9bfd950a.a is not a fat file
Non-fat file: target/libexample-df07142d9bfd950a.a is architecture: x86_64

また

lipo -info `which python`
Non-fat file: /usr/local/bin/python is architecture: x86_64

使用しないでくださいfile

于 2015-03-04T13:56:25.100 に答える
7

使用している Python インスタンスで利用可能なアーキテクチャを見つけるには:

$ file "$( "$(which python)" -c "import sys;print(sys.executable)" )"
/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

Python が現在 32 ビットまたは 64 ビットのどちらで実行されているかを確認するには (10.6 の例):

$ /usr/bin/python2.6 -c "import sys;print('%x'%sys.maxint)"
7fffffffffffffff
$ arch -x86_64 /usr/bin/python2.6 -c "import sys;print('%x'%sys.maxint)"
7fffffffffffffff
$ arch -i386 /usr/bin/python2.6 -c "import sys;print('%x'%sys.maxint)"
7fffffff
$ arch -ppc /usr/bin/python2.6 -c "import sys;print('%x'%sys.maxint)"
7fffffff

python3 の場合は、次のように置き換えsys.maxsizeますsys.maxint

$ python3 -c "import sys;print('%x'%sys.maxsize)"
7fffffff
于 2010-07-08T20:00:41.370 に答える