2014-09-09 9 views
6

Sto utilizzando Tweepy per inviare alcuni messaggi a Twitter. Sto ottenendo una lunga traccia dall'API. Il traceback deposita presso:Tweepy: ImportError: impossibile importare il nome Casuale

ImportError: cannot import name Random 

ho usato Pip per installare l'ultima versione di Tweepy:

Name: tweepy 
Version: 2.3.0 
Location: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 
Requires: 

Quando chiamo

import tweepy 

ottengo questo traceback:

Traceback (most recent call last): 
    File "/Users/dromard/Projects/Drop Playlist/drop.py", line 4, in <module> 
    import tweepy 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tweepy/__init__.py", line 14, in <module> 
    from tweepy.api import API 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tweepy/api.py", line 8, in <module> 
    from tweepy.binder import bind_api 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tweepy/binder.py", line 5, in <module> 
    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 35, in <module> 
    from random import Random as _Random 
ImportError: cannot import name Random 

Process finished with exit code 1 

Sto lavorando in PyCharm e confermo il pacchetto del sito e i percorsi Python sono corretti nelle impostazioni. Ho controllato manualmente nella console che i percorsi sono corretti e non ci sono posizioni duplicate.

Non ho apportato alcuna modifica a Tweepy. Lascio che Pip lo installi dov'è, così com'è. Permessi sembrano corretti:

-rw-r--r-- 1 root wheel 

Se controllo Python in consolle:
- ottengo lo stesso traceback
- Quando eseguo le singole importazioni, tutti eseguono senza errori

Tutto fallisce fuori alla chiamata random. Penso che random fa parte dei pacchetti core di Python e non fa parte di Tweepy.

Ho consegnato questo script a un collega, che ha poi utilizzato Pip per installare tweepy e ha eseguito lo stesso traceback. Mi fa pensare che Pip potrebbe contribuire.

Sono relativamente nuovo a Python (programmazione in generale). Ho esaminato altri articoli di "errore di importazione", ma non ho trovato questo problema specifico. Qualsiasi aiuto è apprezzato.

+0

Cosa succede se si esegue il comando 'from random import Random as _Random' dal prompt Python in Terminal? – MattDMo

+0

@MattDMo ottengo questo '>>> import casuale >>> dall'importazione casuale casuale come _Random Traceback (chiamata più recente scorso): file "", linea 1, in ImportError: non si può importare nome Casuale >>> ' –

+0

... scusa per l'editing scadente ... –

risposta

17

L'ho capito. Avevo creato un file python chiamato "random.py" durante il corso di sperimentazione con uno script di generazione di numeri casuali. La mia chiamata 'import random' stava afferrando questo file, che mancava alla libreria Random. Essenzialmente ha creato un conflitto con il proprio 'casuale'.

+0

quindi come mai il tuo collega ha avuto lo stesso problema? – MattDMo

+0

Perché quando gli ho dato la cartella del progetto, quel vecchio file 'random.py' era lì dentro. –

+0

aveva esattamente lo stesso problema. Mi sono sentito piuttosto stupido quando l'ho capito ... – cordialgerm