My python interpreter became mad !
John Machin
sjmachin at lexicon.net
Tue Mar 25 16:47:06 EDT 2008
Furkan Kuru top-posted:
> Most probably X-Spam added itself to your path.
What is "X-Spam"? Added itself to Benjamin's path [not mine] in such a
fashion that it is invoked when one does "import re"?
> you should look at your PATH and PYTHONPATH environment variables.
Most *IM*probably. Read the traceback:
"""
> > File "/etc/postfix/re.py", line 19, in ?
> > m = re.match('(Spam)', mail)
> > AttributeError: 'module' object has no attribute 'match'
"""
This is a classic case of a script (which does not guard against side
effects (like spewing out gibberish) when imported instead of being
executed) being given the same name as a Python-included module and
being executed in the current directory and hence ends up importing itself.
>
> On Tue, Mar 25, 2008 at 1:40 PM, John Machin <sjmachin at lexicon.net
> <mailto:sjmachin at lexicon.net>> wrote:
>
> On Mar 25, 10:05 pm, Benjamin Watine <wat... at cines.fr
> <mailto:wat... at cines.fr>> wrote:
> > Yes, my python interpreter seems to became mad ; or may be it's
> me ! :)
> >
> > I'm trying to use re module to match text with regular
> expression. In a
> > first time, all works right. But since yesterday, I have a very
> strange
> > behaviour :
> >
> > $ python2.4
> > Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
> > [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
> > Type "help", "copyright", "credits" or "license" for more
> information.
> > >>> import re
> > X-Spam-Flag: YES
[snip]
> > Traceback (most recent call last):
> > File "<stdin>", line 1, in ?
> > File "/etc/postfix/re.py", line 19, in ?
> > m = re.match('(Spam)', mail)
> > AttributeError: 'module' object has no attribute 'match'
> > >>>
> >
> > What's the hell ?? I'm just importing the re module.
>
> No you're not importing *the* re module. You're importing *an* re
> module, the first one that is found. In this case: your own re.py.
> Rename it.
>
More information about the Python-list
mailing list