2010-02-13 7 views
3

이 문제가 있습니다. 아이디어가 있으십니까?AttributeError : 'module'객체에 '인쇄 가능'속성이 없습니다.

from OpenGL.raw.GLUT import * 
     File "/usr/lib/python2.6/site-packages/OpenGL/raw/GLUT/__init__.py", line 6, in <module> 
     from OpenGL.raw.GLUT.constants import * 
     File "/usr/lib/python2.6/site-packages/OpenGL/raw/GLUT/constants.py", line 7, in <module> 
     from OpenGL import platform, arrays 
     File "/usr/lib/python2.6/site-packages/OpenGL/platform/__init__.py", line 36, in <module> 
     _load() 
     File "/usr/lib/python2.6/site-packages/OpenGL/platform/__init__.py", line 27, in _load 
     plugin_class = plugin.load() 
     File "/usr/lib/python2.6/site-packages/OpenGL/plugins.py", line 14, in load 
     return importByName(self.import_path) 
     File "/usr/lib/python2.6/site-packages/OpenGL/plugins.py", line 28, in importByName 
     module = __import__(".".join(moduleName), {}, {}, moduleName) 
     File "/usr/lib/python2.6/site-packages/OpenGL/platform/glx.py", line 3, in <module> 
     from OpenGL.platform import baseplatform, ctypesloader 
     File "/usr/lib/python2.6/site-packages/OpenGL/platform/baseplatform.py", line 4, in <module> 
     from OpenGL.platform import ctypesloader 
     File "/usr/lib/python2.6/site-packages/OpenGL/platform/ctypesloader.py", line 6, in <module> 
     import ctypes, logging, os 
     File "/usr/lib/python2.6/logging/__init__.py", line 31, in <module> 
     import sys, os, types, time, string, cStringIO, traceback 
     File "string.py", line 3, in <module> 
     chars=set(string.printable), 
    AttributeError: 'module' object has no attribute 'printable' 

답변

4

현재 디렉토리에 string.py이라는 파일이 있습니다. 같은 이름의 표준 라이브러리 모듈을 방해하고 있습니다. .py 파일의 이름을 바꾼 다음 생성 된 string.pyc 파일을 제거하십시오.

+0

감사합니다! "AttributeError : 'module'객체에 속성이 없습니다."라는 글을 읽었습니다. 나는 그 대본을 잊어 버렸다. 어쩌면 미래에 파이썬은 libs에 대해 알 것이다. –

+0

@ThomasWouters 저도 같은 문제가 있습니다. 하지만 내가 가진 것은'String.py'이며, 대문자로 쓰여 있습니다. 나는 이것이 "string.py"와 다르다고 생각하고 오류를 일으키지 않는다. 하지만 그렇습니다. 파이썬 2.7.9를 사용하고 있습니다. 빛 좀 비켜 주시겠습니까? – smwikipedia

+0

근본 원인을 찾아서 게시했습니다. – smwikipedia

0

정확하게 똑같은 문제를 만났습니다. 그러나 다른 맥락에서.

VirtualBox으로 Ubuntu 가상 컴퓨터를 설치했습니다. VM과 Windows 호스트간에 공유되는 폴더에 파이썬을 작성합니다.

내 운명에 대한 이유는 (공유 폴더는 버추얼 박스의 기능입니다) :

Windows file names are NOT case sensitive. And I happened to have a String.py which are converted into string.pyc and stored in my Windows shared folder. So it interferes with the Python built-in “string.py” module.

솔루션 :

Copy the whole python code into the VM and just work there.

관련 문제