Import urllib or urllib 2 in Python 2.7 failing with ImportError: cannot import name iskeyword [duplicate]
Asked Answered
P

1

2

I can't import urllib or urllib2 on my Python 2.6 or Python 2.7 installs.

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
[GCC 4.5.2] 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/lib/python2.7/urllib.py", line 30, in <module>
    from urlparse import urljoin as basejoin
  File "/usr/lib/python2.7/urlparse.py", line 110, in <module>
    from collections import namedtuple
  File "/usr/lib/python2.7/collections.py", line 10, in <module>
    from keyword import iskeyword as _iskeyword
ImportError: cannot import name iskeyword

I can't seem to find an answer Googling "cannot import name iskeyword" either.

Pierrepierrepont answered 22/5, 2011 at 7:26 Comment(1)
maybe it's because of a circular import of the urlparse & urllib libraries. check this out. thoughtsaby.blogspot.com/2012/11/…Mahlstick
S
5

There must be some importing conflicts. Do you have any modules named keyword in you workspace? Try next:

>>> import keyword
>>> dir(keyword)
Signorino answered 22/5, 2011 at 7:55 Comment(2)
Ah. Yes, I apparently created a test file a while ago in that folder called keyword.py that isn't used but is causing a collision with urllib. Removing it causes the import urllib to work fine. Thanks for the help! I need to learn the Python namespace better. Any general words of wisdom to avoid something like this happening again where my filenames cause a conflict with modules that are being imported?Pierrepierrepont
@Pierrepierrepont Nothing special - just to be careful with module names. Now you know what to do with such type of mistakes :)Signorino

© 2022 - 2024 — McMap. All rights reserved.