The python 'module' object has no 'compile' attribute

[ 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' 

any ideas?

The same errors:

 [ 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' 

edited: /usr/lib64/python2.6/site-packages/MySQLdb/cursors.py added:

 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' >>> 
+4
source share
1 answer

This is strange. Do you have a module called "re.py" somewhere in your Python path that obscures the "real" module?

UPDATE: Well, based on your editing, now I'm sure that you have a re.py module that obscures the real one, and if I read this path correctly, it is in the directory itself, which you are invoking the program! Are you writing a re.py module that has one "modify_url" function?

In any case, find that re.py - this is probably in your scripts directory - and rename it to another.

+6
source

Source: https://habr.com/ru/post/1394866/


All Articles