2015-08-27 16 views
31

Sto provando ad installare IPython. Ho eseguito pip install ipython[notebook] senza errori, ma ora ottengo questo:Installazione di iPython: "ImportError non può importare il percorso del nome"?

$ ipython notebook 
Traceback (most recent call last): 
    File "/Users/me/.virtualenvs/.venv/bin/ipython", line 7, in <module> 
    from IPython import start_ipython 
    File "/Users/me/.virtualenvs/.venv/lib/python2.7/site-packages/IPython/__init__.py", line 48, in <module> 
    from .terminal.embed import embed 
    File "/Users/me/.virtualenvs/.venv/lib/python2.7/site-packages/IPython/terminal/embed.py", line 16, in <module> 
    from IPython.core.interactiveshell import DummyMod 
    File "/Users/me/.virtualenvs/.venv/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 31, in <module> 
    from pickleshare import PickleShareDB 
    File "/Users/me/.virtualenvs/.venv/lib/python2.7/site-packages/pickleshare.py", line 41, in <module> 
    from path import path as Path 
ImportError: cannot import name path 

Ho lo stesso errore se si tenta di eseguire import pickleshare ad una console Python o from path import path.

Cosa posso fare per risolvere questo problema?

+0

Non è un file path.py da qualche parte nel tuo percorso? –

+1

In realtà si tratta di un dupe http://stackoverflow.com/questions/32252915/error-running-a-fresh-install-of-ipython? –

risposta

37

Sembra che questo è un known issue, causata da un cambiamento nel pacchetto path.py. Ripristino di una versione precedente di path.py risolve questo:

sudo pip3 install -I path.py==7.7.1 
+0

Grazie mille! – Richard

2

Sembra che pickleshare sia nel pacchetto IPython.utils. Prova legando

from IPython.utils.pickleshare import PickleShareDB 

Allo stesso modo, path è in IPython.external. Prova a digitare

from IPython.external.path import path as Path 

In entrambi i casi, vorrei verificare se esistono i seguenti file.

"/Users/me/.virtualenvs/.venv/lib/python2.7/site-packages/IPython/utils/pickleshare.py" 
"/Users/me/.virtualenvs/.venv/lib/python2.7/site-packages/IPython/external/path/_path.py" 

Tutto ciò indica il fatto che probabilmente la versione di IPython/notebook è vecchia. Un paio di soluzioni sarebbe

1) Prova a modificare i file in site-packages e mutevoli linee di importazione per

from IPython.external.path import path as Path 
from IPython.utils.pickleshare import PickleShareDB 

Ma questo è il tipo di rischio, chissà cos'altro potrebbe non riuscire.

In caso contrario, provare ad aggiornare ipython/notebook

pip install ipython --upgrade 
pip install "ipython[notebook]" --upgrade 
+0

l'aggiornamento di ipython/notebook ha funzionato per me. –

+0

La mia soluzione era semplicemente "pip install ipython --upgrade". – Kieleth

3

ho avuto problemi simili e rollback ad una versione precedente di path.py non non aiuta. Ho disinstallato il pacchetto e poi ha funzionato il blocco note di IPython.

pip uninstall -y path.py

Problemi correlati