라이브러리가 Mac OS X에 내장 된 32 비트 / 64 비트인지 확인하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/3207177

문제

pyqt / sip을 사용하는 데 문제가 있습니다.SIP가 64 비트로 컴파일되어 있지만 파이썬은 그것을 찾는 데 문제가 있습니다.

  File "qtdemo.py", line 46, in 
    import sip
ImportError: dlopen(/Library/Python/2.6/site-packages/sip.so, 2): no suitable image found.  Did find:
        /Library/Python/2.6/site-packages/sip.so: mach-o, but wrong architecture
.

  • 라이브러리 (SO / DYLIB)가 32 비트 또는 64 비트인지 어떻게 알 수 있습니까?
  • Python이 32 비트 또는 64 비트인지 어떻게 알 수 있습니까?
도움이 되었습니까?

해결책

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
.

다른 팁

을 사용하는 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
.

파이썬이 현재 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.maxsizesys.maxint 대체 :

$ python3 -c "import sys;print('%x'%sys.maxsize)"
7fffffff
.

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를 사용하지 마십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top