python'module'对象没有属性'compile'

时间:2012-02-05 14:08:47

标签: python linux centos

[root@proxy-001 scripts]# python
Python 2.6.6 (r266:84292, Dec  7 2011, 20:48:22)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
   >>> import MySQLdb
   >>> from MySQLdb import cursors
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 16, in <module>
        insert_values= re.compile(restr)
    AttributeError: 'module' object has no attribute 'compile'

任何想法?

同样的错误:

[root@proxy-001 scripts]# python
Python 2.6.6 (r266:84292, Dec  7 2011, 20:48:22)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> import MySQLdb
>>> import MySQLdb.cursors
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 16, in <module>
    insert_values= re.compile(restr)
AttributeError: 'module' object has no attribute 'compile'

编辑:/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py 补充道:

print re
print dir(re)
insert_values= re.compile(restr)


[root@proxy-001 scripts]# python
Python 2.6.6 (r266:84292, Dec  7 2011, 20:48:22)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> import MySQLdb
>>> import MySQLdb.cursors
<module 're' from 're.pyc'>
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'main', 'modify_url', 'sys']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 18, in <module>
    insert_values= re.compile(restr)
AttributeError: 'module' object has no attribute 'compile'
>>>

1 个答案:

答案 0 :(得分:7)

这很奇怪。你的Python路径中是否有一个名为“re.py”的模块正在影响“真正的”模块?

更新:好的,根据您的编辑,我现在确定您有一个re.py模块,该模块正在影响真实的模块,如果我正确地读取路径,它就在您正在的目录中从中调用程序!你编写了一个有一个“modify_url”函数的re.py模块吗?

无论如何,找到re.py - 它可能在你的脚本目录中 - 并将其重命名为其他内容。