Question

Python 2.7.5 (default, Sep 12 2013, 12:43:04) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/urllib.py", line 33, in <module>
  from urlparse import urljoin as basejoin
File "/usr/local/lib/python2.7/urlparse.py", line 118, in <module>
  from collections import namedtuple
File "/usr/local/lib/python2.7/collections.py", line 9, in <module>
  from operator import itemgetter as _itemgetter, eq as _eq
ImportError: cannot import name itemgetter

This issue occurs when I run import urllib. Python version is 2.7. Is this a Python's version problem? Could someone tell me how to fix it?

Was it helpful?

Solution

You have a file called operator.py in the current directory, so import operator is picking up your module and not the Python standard library module operator.

You should rename your file to not conflict with Python's standard library.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top