2015-08-27 11 views
31

Ich versuche IPython zu installieren. Ich habe pip install ipython[notebook] ohne Fehler laufen, aber ich dies jetzt bekommen:iPython installieren: "ImportError kann den Namenspfad nicht importieren"?

$ 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 

ich den gleichen Fehler, wenn ich versuche, import pickleshare an einer Python Konsole auszuführen, oder from path import path.

Was kann ich tun, um das Problem zu beheben?

+0

Sie haben keine path.py Datei irgendwo in Ihrem Pfad? –

+1

Eigentlich ist das ein dupe http://stackoverflow.com/questions/32252915/error-running-a-fresh-install-of-ipython? –

Antwort

37

Das sieht wie ein known issue ist, die durch eine Änderung in der Verpackung path.py verursacht. Zurückkehren zu einer älteren Version von path.py löst dieses Problem:

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

Vielen Dank! – Richard

2

Es scheint, dass pickleshare im Paket IPython.utils ist. Versuchen

from IPython.utils.pickleshare import PickleShareDB 

Ähnlich binden, path in IPython.external ist. Versuchen Sie es mit

from IPython.external.path import path as Path 

In jedem Fall würde ich überprüfen, ob folgende Dateien vorhanden sind.

"/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" 

All dies deutet darauf hin, dass wahrscheinlich Ihre IPython/Notebook-Version alt ist. Ein paar Lösungen wären

1) Bearbeiten von Dateien in Website-Paketen und Ändern Importlinien

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

Aber das ist eine Art von riskanten Versuchen Sie, wer weiß, was sonst noch scheitern könnte.

Ansonsten versuchen Upgrade ipython/Notebook

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

upgraden ipython/notebook arbeitete für mich. –

+0

Nur "pip install ipython --upgrade" war meine Lösung. – Kieleth

3

ich ähnliche Probleme hatte und Rollback zu einer früheren Version von path.py nicht half nicht. Ich habe das Paket deinstalliert und dann IPython Notebook funktioniert.

pip uninstall -y path.py

Verwandte Themen