2011-12-22 77 views
36

Tôi đã cài đặt python3.2 trong ubuntu (phiên bản mặc định không được xóa), và tôi làm theo các bước trong hereLàm thế nào để cài đặt matplotlib với Python3.2

Tuy nhiên khi tôi sử dụng

python3.2 setup.py install 

tôi có:

"error: command 'gcc' failed with exit status 1", 
"src/ft2font.cpp:2224:29: error: ‘Int’ is not a member of ‘Py’" 

Và khi tôi sử dụng sudo apt-get install python-matplotlib tôi có thể sử dụng matplot trong python2.x, trong khi tôi vẫn không thể sử dụng nó với PYT hon3.2 Làm thế nào tôi có thể cài đặt matplot trong python3.2?

+5

Kể từ phiên bản 1.2 (phát hành vào tháng 11 năm 2012) matplotlib hiện hỗ trợ Python 3.2, nhưng trước đó bạn cần phải xây dựng từ github như được trả lời dưới đây. – seumas

Trả lời

47

Matplotlib hỗ trợ python 3.x như các phiên bản 1.2, phát hành vào tháng Giêng, 2013.

Để cài đặt nó, có một cái nhìn tại số installation instructions. Nói chung, hãy gọi pip install matplotlib hoặc sử dụng cơ chế ưu tiên của bạn (conda, homebrew, trình cài đặt cửa sổ, trình quản lý gói hệ thống, v.v.). Trong một số trường hợp, bạn có thể cần cài đặt thêm các phụ thuộc không phải python (libpngfreetype) thông qua trình quản lý gói của hệ thống.

Câu trả lời bên dưới là lý do lịch sử và là ví dụ về cài đặt phiên bản phát triển từ github.


Phiên bản hiện tại của matplotlib không hỗ trợ python3.

Có một nhánh github để hỗ trợ python3 trong một vài năm nay, nhưng nó không ổn định trên bất kỳ thứ gì khác ngoài Linux cho đến gần đây. Tôi tin rằng chi nhánh gần đây đã được sáp nhập trở lại vào chi nhánh chính.

Nếu bạn muốn sử dụng matplotlib trên python3, bạn sẽ cần phải xây dựng từ đầu hiện https://github.com/matplotlib/matplotlib

Để xây dựng nó, làm điều gì đó tương tự như sau:

git clone https://github.com/matplotlib/matplotlib 
cd matplotlib 
python3 setup.py build 
sudo python3 setup.py install 

Nếu bạn don' t đã cài đặt git, sau đó bạn chỉ có thể tải xuống một tarball của mẹo git hiện tại thay thế: https://github.com/matplotlib/matplotlib/tarball/master

Bạn sẽ cần phải cài đặt gọn gàng cho python3. (Cài đặt nó cho python2 không cài đặt nó cho python3.)

Trong hầu hết các trường hợp, đó là tất cả những gì bạn cần làm. Đối với một cài đặt mặc định, thư viện python không được bao gồm duy nhất là gọn gàng. Các phụ thuộc khác (ví dụ: libpng, freetype) là các thư viện hệ thống và nếu bạn có thể xây dựng matplotlib cho python2, bạn đã có chúng.

Nếu bạn muốn cài đặt không mặc định (ví dụ: nếu bạn muốn bất kỳ chương trình phụ trợ không mặc định nào), bạn cần phải sao chép mẫu setup.cfg.default thành setup.cfg và chỉnh sửa nó để khớp với những gì bạn muốn. Có thể bạn sẽ chỉ cần thực hiện việc này nếu bạn định nhúng matplotlib vào ứng dụng gtk hoặc qt mà bạn đang viết, trong trường hợp đó bạn sẽ muốn các phụ trợ gtkagg hoặc qtagg thay vì chỉ phụ trợ mặc định tkagg.

+0

Làm thế nào để xây dựng nó? Tôi có thể chỉ cần gõ 'python3.2 setup.py install' – itsuper7

+0

Yep. Xem các chỉnh sửa cho câu trả lời của tôi để biết thêm chi tiết. –

+3

Cảm ơn bạn. Nó thực sự hiệu quả. Sau đó, tôi có đối tượng "module" không có thuộc tính 'HTTPSHandler' ", trong khi nó có thể được giải quyết bằng [link] (http://paltman.com/2007/11/15/getting-ssl-support-in-python -251 /) – itsuper7

5
sudo apt-get build-dep python-matplotlib 

này sẽ nhận được tất cả các phụ thuộc cần thiết để cài đặt matplotlib

+0

Tôi đã thử nhưng nó không hoạt động. – itsuper7

+0

Nó chỉ cần cài đặt các thư viện cần phải cài đặt matplotlib. Sau đó bạn cần phải cài đặt với pip hoặc với python3 setup.py cài đặt ... –

0

Tôi đã làm theo các bước theo Joe Kington trên Ubuntu 14.04. Mặc dù những bước đó khiến tôi bắt đầu gặp phải vài vấn đề. Tôi phải thực hiện các bước bổ sung sau đây. Hy vọng nó sẽ giúp người khác có vấn đề tương tự.

  1. Cài đặt gói freetype sử dụng

    sudo apt-get install libfreetype6-dev 
    
  2. tôi phải cài đặt g ++ vì lỗi này: lỗi khi cố gắng exec 'cc1plus': execvp: Không có tập tin hoặc thư mục

    sudo apt-get install g++ 
    
  3. Sau đó, tôi phải cài đặt python3.4-dev vì: chất béo al lỗi: Python.h: Không có tập tin hoặc thư mục

    sudo apt-get install python3.4-dev 
    

Bây giờ chạy các bước từ Joe Kington. Điều này làm việc cho tôi.

15

chỉ để bump bình luận @ endolith của lên để trả lời câu mực, từ ít nhất Ubuntu 14-04 linux trở đi, hỗ trợ matplotlib cho python3 được xây dựng-in với apt:

sudo apt-get install python3-matplotlib 

nên cài đặt matplotlib cho python3 với phụ thuộc cần thiết.

0

Đó là sự đơn giản.

sudo pip install matplotlib sẽ thực hiện thủ thuật.

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