微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python’module’对象没有属性’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 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'
>>>

解决方法:

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。