2010-02-13 29 views
3

我有這個問題。 有什麼想法?AttributeError:'模塊'對象沒有屬性'可打印'

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:'模塊'對象沒有任何屬性」。我忘了那個劇本。也許在未來的Python會知道什麼是庫。 –

+0

@ThomasWouters我有同樣的問題。但我所擁有的是'String.py',它是大寫字母。我認爲這不同於「string.py」,並沒有導致錯誤。但它確實如此。我正在使用'Python 2.7.9'。你可以點亮一下嗎? – smwikipedia

+0

我找到了根本原因並在下面發佈。 – smwikipedia

0

我遇到了完全相同的問題。但在不同的情況下。

我使用VirtualBox設置Ubuntu虛擬機。我在虛擬機和Windows主機之間共享的文件夾上寫了一些python的東西。 (共享文件夾是VirtualBox中的一個特性)

原因我死命是:

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.

相關問題