web-dev-qa-db-fra.com

Installer iPython: "ImportError ne peut pas importer le chemin du nom"?

J'essaie d'installer IPython. J'ai couru pip install ipython[notebook] sans aucune erreur, mais maintenant j'obtiens ceci:

$ 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

J'ai la même erreur si j'essaie d'exécuter import pickleshare sur une console Python ou from path import path.

Que puis-je faire pour résoudre ce problème?

34
Richard

Il semble que ce soit un problème conn , provoqué par une modification du path.py paquet. Revenir à une ancienne version de path.py résout ce problème:

Sudo pip3 install -I path.py==7.7.1
40
fatz

J'ai rencontré des problèmes similaires et je suis revenu à une version antérieure de path.py n'a pas aidé. J'ai désinstallé le package, puis le bloc-notes IPython a fonctionné.

pip uninstall -y path.py

5
Brian Spiering

Il semble que pickleshare soit dans le package IPython.utils. Essayez de nouer

from IPython.utils.pickleshare import PickleShareDB 

De même, path est dans IPython.external. Essayez de taper

from IPython.external.path import path as Path

Dans les deux cas, je vérifierais si les fichiers suivants existent.

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

Tout cela indique que votre version d'IPython/notebook est probablement ancienne. Quelques solutions seraient

1) Essayez de modifier les fichiers dans les packages de site et de changer les lignes d'importation en

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

Mais c'est un peu risqué, qui sait quoi d'autre pourrait échouer.

Sinon, essayez de mettre à niveau ipython/notebook

pip install ipython --upgrade
pip install "ipython[notebook]" --upgrade
2
Sudeep Juvekar

J'ai reçu cette erreur en essayant d'importer matplotlib sur Windows 10. Mon problème était que matplotlib avait besoin d'une mise à jour. Je viens d'exécuter le code suivant:

python -m pip install matplotlib

ou:

conda install matplotlib

Je suppose que cela peut être appliqué à IPython.

0
Colton Neary