Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ImportError: cannot import name log

Why is this happening?

python --version = 2.7.1

import urllib

def main():
    urllib.urlretrieve('http://media2.apnonline.com.au/img/media/images/2011/02/28/apple-logo_fct825x508x16_t460.jpg', 'image.jpg')

if __name__ == '__main__':
    main()

Trace:

Traceback (most recent call last):
  File "robot.py", line 7, in <module>
    main()
  File "robot.py", line 4, in main
    urllib.urlretrieve('http://media2.apnonline.com.au/img/media/images/2011/02/28/apple-logo_fct825x508x16_t460.jpg', 'image.jpg')
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 91, in urlretrieve
    return _urlopener.retrieve(url, filename, reporthook, data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 237, in retrieve
    fp = self.open(url, data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 205, in open
    return getattr(self, name)(url)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 289, in open_http
    import httplib
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 79, in <module>
    import mimetools
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mimetools.py", line 6, in <module>
    import tempfile
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 34, in <module>
    from random import Random as _Random
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 45, in <module>
    from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
ImportError: cannot import name log
like image 538
el_pup_le Avatar asked Jan 19 '13 11:01

el_pup_le


1 Answers

Is it possible that you have a file named math.py in the same directory as the program you are running? If so python tries to import it before the math module.

Solution: Just rename it to something else.

Tip: In the future try to name your modules in a non-conflicting way.

like image 80
root Avatar answered Oct 16 '22 20:10

root