2015-08-24 17 views
11

Durante il tentativo di eseguire this esempio per verificare come matplotlib funziona con Tkinter, sto ottenendo l'errore:da matplotlib.backends importare _tkagg ImportError: non si può importare nome _tkagg

(env)[email protected]:~/new$ python test.py 
Traceback (most recent call last): 
    File "test.py", line 7, in <module> 
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg 
    File "/home/fieldsofgold/new/env/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 13, in <module> 
    import matplotlib.backends.tkagg as tkagg 
    File "/home/fieldsofgold/new/env/local/lib/python2.7/site-packages/matplotlib/backends/tkagg.py", line 7, in <module> 
    from matplotlib.backends import _tkagg 
ImportError: cannot import name _tkagg 

Utilizzando la soluzione fornita here, I' ve provato a disinstallare matplotlib e installare i pacchetti TK e TK-dev utilizzando questi comandi:

sudo apt-get install tk8.5 
sudo apt-get install tk-dev 

e poi ri-installare nuovamente matplotlib da pip install matplotlib ma sto ancora ricevendo il stesso errore. Qualsiasi aiuto sarebbe apprezzato. Sto usando Ubuntu 14.04 su VirtualBox e lavoro all'interno di un ambiente virtualenv. Grazie mille.

risposta

1

prova a seguire questo scenario:

sudo apt-get update 

sudo apt-get install tk tk-dev 

sudo pip uninstall matplotlib 

sudo pip install matplotlib 

EDIT:

Prova:

sudo pip uninstall matplotlib 

sudo apt-get install python-matplotlib 

EDIT2:

sudo apt-get install tk8.6-dev 

sudo apt-get remove python-matplotlib 

sudo apt-get install python-matplotlib 
+1

@YOBO Ho appena fatto. Ottenere lo stesso errore di prima. – QPTR

+0

@QPTR Ok, quindi evita di usare pip, usa lo stesso gestore di pacchetti, ho appena fatto una modifica – YOBA

+0

Hmm, si disinstalla bene. Comunque, dà 'python-matplotlib è già la versione più recente.' 0 aggiornato, 0 appena installato, 0 da rimuovere e 515 non aggiornato. Dopo 'sudo apt-get install python-matplotlib'. Può importare matplotlib bene però dall'interprete. Ma ancora non funziona. – QPTR

26

Ho appena imbattuto in questo (Ubuntu 15.10, ma lo stesso idea) e risolto da:

sudo apt-get install tk-dev 
pip uninstall -y matplotlib 
pip --no-cache-dir install -U matplotlib 

Penso che il terzo passo fosse quello critico; se la cache è consentita, allora pip sembra essere semplicemente usando l'installazione precedente di matplotlib.

È inoltre possibile rimuovere manualmente il matplotlib precedentemente creato; su Ubuntu vive in ~/.cache/pip da qualche parte. (Non sono riuscito a trovare un modo per fare il pip per pulire la cache, sfortunatamente.)

+0

Ho trovato il più conveniente usare il pacchetto di Ubuntu ed eseguire 'apt-get install python-matplotlib' o' python3-matplotlib'. – luka5z

0

Una risposta a this question suggerisce che l'errore è dovuto a Visual C++ Redistributable mancante per Visual Studio 2015. L'installazione ha risolto il problema per me.

Problemi correlati