Подтвердить что ты не робот

Установка iPython: "ImportError не может импортировать путь имени"?

Я пытаюсь установить IPython. Я запускал pip install ipython[notebook] без каких-либо ошибок, но теперь я получаю следующее:

$ 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

У меня такая же ошибка, если я пытаюсь запустить import pickleshare на консоли Python или from path import path.

Что я могу сделать, чтобы исправить это?

4b9b3361

Ответ 1

Похоже, что это известная проблема, вызванная изменением пакета path.py. Возврат к старой версии path.py решает следующее:

sudo pip3 install -I path.py==7.7.1

Ответ 2

У меня были подобные проблемы, и возврат к более ранней версии path.py не помог. Я удалил пакет, а затем работал IPython Notebook.

pip uninstall -y path.py

Ответ 3

Похоже, что pickleshare находится в пакете IPython.utils. Попробуйте привязать

from IPython.utils.pickleshare import PickleShareDB 

Аналогично, path находится в IPython.external. Попробуйте ввести

from IPython.external.path import path as Path

В любом случае, я бы проверить, существуют ли следующие файлы.

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

Все это указывает на то, что, вероятно, ваша версия IPython/notebook устарела. Пара решений будет

1) Попробуйте отредактировать файлы в пакетах сайта и измените строки импорта на

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

Но такой рискованный, кто знает, что еще может потерпеть неудачу.

В противном случае попробуйте обновить ipython/notebook

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