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

标签 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'
>>>

最佳答案

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

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

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

关于python 'module' 对象没有属性 'compile',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9149876/

相关文章:

python - 按住一个键并释放另一个

python - 管理中的可翻译 Manytomany 字段生成许多查询

Python HTTP 请求 URL 结束斜杠

linux - bash 中的 for 循环简单地打印 n 次命令而不是重复

linux - 是否可以在没有 root 的情况下在 CentOS 上安装 g++?

centos - Jira 服务器迁移恢复附件

python - WindowsPath 无法转换为 unicode

python - Tensorflow API Ubuntu 错误

ruby-on-rails - rails 命令问题

postgresql - Airflow 1.9 - 任务卡在队列中