2013-01-19 11 views
11

Perché sta succedendo?ImportError: impossibile importare il log dei nomi

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 
+1

Interessante. In realtà ho incontrato lo stesso problema con un'altra libreria. – eandersson

+0

per me; sta funzionando bene. – namit

+0

Sì :) Sì, sì, lo faccio –

risposta

24

E 'possibile che si dispone di un file di nome math.py nella stessa directory come il programma è in esecuzione? Se è così Python prova a importarlo prima del modulo matematico.

Soluzione: Basta rinominarlo in qualcos'altro.

Suggerimento: In futuro cercare di nominare i moduli in modo non conflittuale.

Problemi correlati