Cập nhật: ipykeynel 4.4.1
vá vấn đề này vào buổi sáng của tháng tám 9.Thất bại trong việc nhập khẩu matplotlib.pyplot trong jupyter (nhưng không ipython)
Tôi đã cài đặt một tươi và tôi đã cố gắng để có được sự phụ thuộc python của tôi lên và chạy , cụ thể là jupyter notebook và matplotlib. Tôi đã cài đặt tất cả mọi thứ pip và "import matplotlib" hoạt động. Nếu tôi đang ở một máy tính xách tay jupyter, và tôi cố gắng "matplotlib.pyplot nhập" hoặc "từ pyplot matplotlib nhập khẩu theo plt", tôi nhận được:
ImportError Traceback (most recent call last)
...
/usr/local/lib/python2.7/dist-packages/IPython/core/pylabtools.pyc in configure_inline_support(shell, backend)
359 except ImportError:
360 return
--> 361 from matplotlib import pyplot
362
363 cfg = InlineBackend.instance(parent=shell)
ImportError: cannot import name pyplot
Tuy nhiên, nếu tôi đang ở ipython (dòng lệnh), điều này hoạt động tốt. Ngoài ra, chạy các lô từ một mô-đun từ dòng lệnh, tốt. Tôi đã cố gắng rất nhiều kỹ thuật:
- Pip cài đặt/gỡ bỏ cài đặt matplotlib, ipython, và jupyter theo thứ tự khác nhau
- Sử dụng pip với --no-cache-dir và/hoặc --ignore cài
- Xóa ~/.cache, ~/.ipython và ~/.jupyter
- Đảm bảo không có gói được cài đặt với apt-get, chỉ cài đặt với pip
- Sử dụng apt-get để cài đặt python-matplotlib, ipython, và python-jupyter
Có vẻ như tôi đã đọc sai một số thông tin đường dẫn, nhưng tôi không thể xác định vị trí hoặc địa điểm nào sẽ gây ra điều này, đặc biệt sau khi gỡ bỏ nhiều pip/cài đặt lại và xóa bộ nhớ cache. Tôi đã đọc tất cả các câu hỏi SO liên quan đến nhập khẩu matplotlib, không ai có ích.
Tôi quay lại matplotlib 1.4.3 và đã hoạt động nhưng thiếu một số tính năng tôi cần. Tôi nhận ra điều này có lẽ là một điều khó khăn, vì vậy nếu bạn có bất kỳ thông tin chi tiết nào, ngay cả khi chưa hoàn thành, điều đó sẽ được đánh giá cao. Ngoài ra, nếu đây là một cái gì đó xứng đáng với một báo cáo lỗi (không bao giờ thực hiện một, không chắc chắn nếu đây là một vấn đề matplotlib, hoặc chỉ cục bộ goofed lên), bình luận như vậy và tôi sẽ gửi một. Cảm ơn!
thông tin hệ thống:
Linux Mint 18 "Sarah"
Python==2.7.12
ipykernel==4.4.0
ipython==5.0.0
ipython-genutils==0.1.0
ipywidgets==5.2.2
jupyter==1.0.0
jupyter-client==4.3.0
jupyter-console==5.0.0
jupyter-core==4.1.0
notebook==4.2.2
numpy==1.11.1
pip 8.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)
Sản lượng sys.path trong ipython và jupyter (tương tự cho cả hai):
['',
'/usr/local/bin',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/local/lib/python2.7/dist-packages/IPython/extensions',
'/home/mm/.ipython']
Hài hước, đã gặp phải vấn đề này sáng nay, câu hỏi của bạn là kết quả tìm kiếm duy nhất có liên quan trực tiếp trên Google. Dường như dưới một số kết hợp của các phiên bản gói, khởi tạo phần cuối "nội tuyến" dẫn đến việc nhập khẩu vòng tròn của 'matplotlib.pyplot'. Đây là lý do tại sao tất cả mọi thứ là tốt trong vỏ Python và IPython (họ sử dụng hệ thống phụ trợ mặc định). –
@IgorRaush Tôi vừa học về các tính năng phụ trợ ngày hôm qua, sau khi nhận được chán và chuyển sang Ipy3 (chỉ yêu cầu thay đổi 5 dòng trong thư viện của tôi, yay __future__!) Và phát hiện ra nó mặc định nội tuyến. Tôi thích zoom tương tác nhiều thời gian. Cố gắng để có được Qt5 để làm việc là một xô của _fun_. Mẹo chuyên nghiệp của Python: kiểm tra phần phụ trợ trong Ipy bằng 'matplotlib.get_backend()' – DeusXMachina