2015-08-27 29 views
31

Tôi đang cố cài đặt IPython. Tôi đã chạy pip install ipython[notebook] mà không cần bất kỳ lỗi nào, nhưng bây giờ tôi có được điều này:Cài đặt iPython: "ImportError không thể nhập đường dẫn tên"?

$ 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 

Tôi có lỗi tương tự nếu tôi cố gắng chạy import pickleshare tại một Python console, hoặc from path import path.

Tôi có thể làm gì để khắc phục vấn đề này?

+0

Bạn không có tệp path.py ở đâu đó trong đường dẫn? –

+1

Thực ra đây là một http://stackoverflow.com/questions/32252915/error-running-a-fresh-install-of-ipython? –

Trả lời

37

Hình như đây là một known issue, gây ra bởi một sự thay đổi trong gói path.py. Quay trở lại phiên bản cũ của path.py giải quyết này:

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

Cảm ơn bạn rất nhiều! – Richard

2

Có vẻ như pickleshare nằm trong gói IPython.utils. Hãy thử buộc

from IPython.utils.pickleshare import PickleShareDB 

Tương tự, path nằm trong IPython.external. Hãy thử nhập

from IPython.external.path import path as Path 

Trong cả hai trường hợp, tôi sẽ kiểm tra xem các tệp sau có tồn tại không.

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

Tất cả điều này chỉ ra rằng phiên bản IPython/notebook của bạn cũ. Một vài giải pháp sẽ là

1) Hãy thử chỉnh sửa các file trong trang web gói và thay đổi dòng nhập khẩu để

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

Nhưng đó là loại nguy hiểm, ai biết những gì khác có thể thất bại.

Nếu không, hãy thử nâng cấp ipython/máy tính xách tay

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

nâng cấp ipython/sổ ghi chép đã hoạt động cho tôi. –

+0

Chỉ cần "pip install ipython --upgrade" là giải pháp của tôi. – Kieleth

3

Tôi có vấn đề tương tự và lăn trở lại một phiên bản trước của path.py không không giúp đỡ. Tôi đã gỡ cài đặt gói và sau đó IPython Notebook hoạt động.

pip uninstall -y path.py

Các vấn đề liên quan