当前位置: 代码迷 >> python >> AttributeError:'module'对象没有'printable'属性
  详细解决方案

AttributeError:'module'对象没有'printable'属性

热度:144   发布时间:2023-07-16 09:44:32.0

我有这个问题。 任何的想法?

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'

您在当前目录中有一个名为string.py的文件。 它干扰了同名的标准库模块。 重命名.py文件,并删除已创建的string.pyc文件。

我遇到了完全相同的问题。 但在不同的背景下。

我用VirtualBox设置了一个Ubuntu虚拟机。 我在VM和Windows主机之间共享的文件夹上写了一些python的东西。 (共享文件夹是VirtualBox的一项功能)

我的厄运的原因是:

Windows文件名不区分大小写。 我碰巧有一个String.py ,它被转换成string.pyc存储在我的Windows共享文件夹中 所以它干扰了Python内置的“string.py”模块。

解:

将整个python代码复制到VM中,然后在那里工作。

  相关解决方案