2010-12-26 6 views
5

ctypes를 가져 오려고하는데 Macuits (Mac OS X 10.6)를 사용하여 Python 2.5.5를 사용하고 있습니다.ctypes 가져 오기가 파이썬 2.5에서 작동하지 않습니다.

"ImportError : _ctypes라는 모듈이 없습니다"라는 오류가 발생합니다 (아래 세부 정보 참조). 내가 이해하기 때문에 ctypes는 Python 2.5에 미리 설치되어 있어야합니다. 어떤 제안?

덕분에, Saurabh

오류 정보 :

$ python 
Python 2.5.5 (r255:77872, Nov 30 2010, 00:05:47) 
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import ctypes 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ctypes/\_\_init\_\_.py", line 10, in <module> 
    from _ctypes import Union, Structure, Array 
ImportError: No module named _ctypes 

업데이트 : 나는 어떤 네드의 답변을 바탕으로 /opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload 디렉토리를 확인했습니다. 더 _ctypes.so 파일 그러나있는 두 개의 관련 파일이있다, 없다 :

-rwxr-xr-x 2 root wheel 136176 Nov 30 00:07 _ctypes_failed.so 
-rwxr-xr-x 2 root wheel 26160 Nov 30 00:05 _ctypes_test.so 

합니까 내가하는 ctypes를 다시 설치해야이 평균?

업데이트 2 : Python 2.5를 다시 설치하면 문제가 해결되었습니다. 원래 문제를 일으킨 원인이 확실하지 않습니다.

+0

와우 나는 아직도 사람들이 2.5를 사용했는지 몰랐습니다. – rook

+0

@Rook 사람들은 여전히 ​​Python 2.4.x를 사용합니다. –

+0

@ Red Hat, CentOS, 일부 다른 서버 배포판에서 @Rook을 실행해도 여전히 2.5 또는 2.4가있는 것이 일반적입니다. Google은 2.5 이상을 사용하지 않습니다 (실제로 2.5를 타겟팅해야하는 App Engine을 개발할 때). –

답변

1

파일 사용 권한 문제 일 수 있습니다. 나는 핸디 MacPorts를 파이썬 2.5 설치을 가지고 있지만하는 MacPorts를 파이썬 2.6을 기반으로,이 같은 파일 뭔가가 있어야하지 않습니다

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.5 
$ cd ./lib/python2.5/lib-dynload/ 
$ ls -l _ctypes.so 
-rwxr-xr-x 2 root wheel 151536 Oct 8 00:26 _ctypes.so* 

되지 않은 경우의 ls -l의 결과와 질문을 업데이트 위에 lib-dynload 디렉토리.

업데이트 : 추가 정보를 기반으로 _ctypes_failed.so의 존재는 _ctypes 건물이 Python 2.5를 빌드하고 설치하는 동안 실패했음을 나타냅니다. 상세 모드로 다시 설치하여 오류의 원인을 확인하십시오.

$ port sudo selfupdate 
$ port -v upgrade --force python25 
0

libffi를 설치 한 다음 Python을 다시 빌드하십시오.

1

최신 Mac OS X는 Python 2.6과 함께 제공됩니다. 대신 macports를 사용해보십시오. ctypes 가져 오기가 이미 내 시스템에서 작동합니다.

Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import ctypes 
>>> 
관련 문제