ImportError: Không có mô-đun có tên matplotlib.pyplot


148

Tôi hiện đang thực hành matplotlib. Đây là ví dụ đầu tiên tôi thực hành.

#!/usr/bin/python

import matplotlib.pyplot as plt

radius = [1.0, 2.0, 3.0, 4.0]
area = [3.14159, 12.56636, 28.27431, 50.26544]

plt.plot(radius, area)
plt.show()

Khi tôi chạy tập lệnh này python ./plot_test.py, nó hiển thị cốt truyện chính xác. Tuy nhiên, tôi tự chạy nó ./plot_test.py, nó ném các mục sau:

Traceback (most recent call last):
File "./plot_test.py", line 3, in <module>
  import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot

Con trăn có tìm matplotlib ở những địa điểm khác nhau không?

Môi trường là:

Mac OS X 10.8.4 64bit
built-in python 2.7

numpy, scipy, matplotlib được cài đặt với:

sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose

thay vào đó, hãy thử sử dụng #! / usr / bin / env python
Uku Loskit

1
#! / usr / bin / env python không hoạt động, xảy ra lỗi tương tự.
NIMISHAN

Câu trả lời:


48

Bạn có hai con trăn được cài đặt trên máy của mình, một con là con trăn tiêu chuẩn đi kèm với Mac OSX và con thứ hai là con mà bạn đã cài đặt với các cổng (đây là con đã matplotlibcài đặt trong thư viện của nó, con này đã được cài đặt trong thư viện của nó, con nào đi kèm với macosx thì không) .

/usr/bin/python

Là python mac tiêu chuẩn và vì nó không có matplotlibnên bạn luôn phải khởi động tập lệnh của mình với tập lệnh được cài đặt với các cổng.

Nếu python your_script.pyhoạt động thì thay đổi #!thành:

#!/usr/bin/env python

Hoặc đặt đường dẫn đầy đủ đến trình thông dịch python đã matplotlibcài đặt trong thư viện của nó.


3
bạn có thể giải thích thêm một chút Tôi đang đối mặt với những vấn đề tương tự.
Akash Kandpal

1
Bạn có thể vui lòng cung cấp với các bước. Tôi cũng không nhận được những gì bạn đang cố gắng giải thích khi tôi đang đối mặt với cùng một vấn đề trong máy mac của tôi
bhaskar

Nó có thể xảy ra khi bạn có tên tệp matplotlib.py trong thư mục làm việc của bạn
Abhishek Parikh

4
Trong python3, một cài đặt riêng của matplotlib sử dụng đã python3 -m pip install matplotlibgiải quyết lỗi. Đã thử nghiệm trên Ubuntu 16.04.
leo

159

pip sẽ làm cho cuộc sống của bạn dễ dàng!

Bước 1: Cài đặt pip - Kiểm tra xem bạn đã có pip chưa bằng cách viết pip trong bảng điều khiển python. Nếu bạn không có pip, hãy lấy tập lệnh python có tên get-pip.py, qua đây: https://pip.pypa.io/en/latest/installing.html hoặc trực tiếp tại đây: https: //bootstrap.pypa .io / get-pip.py (Bạn có thể phải sử dụng Save As ..)

Bước 2: Lưu ý nơi tệp đã được lưu và cd thư mục từ dấu nhắc lệnh. Chạy tập lệnh get-pip.py để cài đặt pip. Bạn có thể viết bằng cmd dòng này trong dấu ngoặc kép: "python. \ Get-pip.py"

Bước 3: Bây giờ trong loại cmd: pip install matplotlib

Và bạn nên thông qua.


13
Trong câu hỏi, nó được chỉ định rằng thư viện đã được cài đặt
tashuhka 16/07/2015

4
Có quá nhiều upvote cho câu trả lời này như được viết hiện tại. Thay vì tải xuống pip, vì chúng (đang trên macosx) đã có macports, OP nên chạy sudo port install pip. Thứ hai, pipđể hữu ích ngoài thiết lập hiện tại của họ, họ cũng nên làm sudo port install virtualenv, đối với "môi trường ảo" python cục bộ (có thể được gọi là python3-virtualenv). Sau đó, sau khi thiết lập và nhập (kích hoạt) một virtualenv mới, hãy chạy pip install ...bên trong virtualenv. Cuối cùng, tập lệnh python vẫn cần được gọi bằng cách sử dụng #!/usr/bin/env pythoncho bất kỳ thứ nào trong số này để làm việc.
michael

trên Ubuntu tôi đã sử dụng python ./get-pip.py --user và nó hoạt động với tôi. thx
LeleMarieC

35

Nếu bạn đang sử dụng Python 2, chỉ cần chạy

sudo apt-get install python-matplotlib

Cách tốt nhất để có được matplotliblà:

pip install matplotlib

bởi vì cách trước có thể cung cấp cho bạn một phiên bản cũ của matplotlib


xin lỗi, tôi không chỉ định hệ thống, tôi đang sử dụng Debian, hệ thống mô phỏng sẽ hoạt động.
k.biao

4
np, nhưng câu hỏi nêu: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Đọc

bạn có thể tìm kiếm lệnh similary để 'apt-get' cho OS X của bạn
k.biao

Trên Ubuntu bạn có thể sử dụng sudo apt-get install python-matplotlibcho python3.
2023370

24

Điều này làm việc cho tôi, lấy cảm hứng từ Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

Tôi biết nó được cài đặt sai chỗ khi nó hoạt động:

python2.7
import matplotlib

12

phiên bản kiểm tra đầu tiên của python

cho trăn2

sudo apt-get install python-matplotlib

cho phiên bản python3

sudo apt-get install python3-matplotlib

nếu bạn bỏ lỡ cài đặt matplotlib với phiên bản python, bạn sẽ không gặp lỗi mô-đun vì không có mô-đun nào cho phiên bản đó thoát.



4

Nếu bạn sử dụng Anaconda3

Chỉ cần đặt

conda install -c conda-forge matplotlib

1

Tôi đã có một vấn đề tương tự mà tôi đã giải quyết và đây là vấn đề của tôi:

Tôi đã thiết lập mọi thứ trên python3 nhưng tôi đang sử dụng python để gọi tệp của mình chẳng hạn: Tôi đang gõ "python mnist.py" ... vì tôi có mọi thứ trên python3 nên tôi nghĩ rằng tôi đang cố gắng sử dụng python 2.7

Chỉnh sửa: "python3 mnist.py" - 3 đã tạo ra sự khác biệt

Tôi không có nghĩa là một chuyên gia về python hoặc pip, nhưng chắc chắn có sự khác biệt giữa pip và pip3 (pip được gắn với python 2.7) (pip3 được gắn với python 3.6)

Vì vậy, khi cài đặt cho 2.7 do: cài đặt pip khi cài đặt cho 3.6 do: cài đặt pip3

và khi chạy mã của bạn cho 2.7 do: python khi chạy mã của bạn cho 3.6 do: python3

Tôi hi vọng điêu nay se giup được ai đo!


1

Nhận xét trong nguồn cấp dữ liệu bình thường bị chặn. Hãy để tôi viết lý do tại sao điều này xảy ra, giống như khi bạn thực hiện ứng dụng của mình.

Nếu bạn chạy script, python hoặc ipython trong môi trường khác ngoài môi trường bạn đã cài đặt, bạn sẽ gặp các vấn đề này.

Đừng nhầm lẫn khi cài đặt lại nó. Matplotlib thường được cài đặt trong môi trường người dùng của bạn, không phải trong sudo. Bạn đang thay đổi môi trường.

Vì vậy, đừng cài đặt lại pip, chỉ cần đảm bảo rằng bạn đang chạy nó dưới dạng sudo nếu bạn đã cài đặt nó trong môi trường sudo.


0

Tôi đã suy nghĩ về điều này trong nhiều giờ cho đến khi tôi nghĩ về việc kiểm tra .bash_profile của mình. Tôi không có đường dẫn được liệt kê cho python3 vì vậy tôi đã thêm đoạn mã sau:

# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

Và sau đó cài đặt lại matplotlib với sudo pip3 install matplotlib. Tất cả đang làm việc tốt đẹp bây giờ.


0

Vì vậy, tôi đã sử dụng python3 -m pip install matplotlib' thennhập matplotlib.pyplot như plt` và nó đã hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.