Làm cách nào để cài đặt matplotlib trên OS X?


19

Tôi muốn cài đặt matplotlib trên OS X. Nếu có thể, sử dụng homebrew.

Tôi đã cài đặt Python 2.7.1 bằng cách sử dụng brew install python, tôi đã sửa đổi đường dẫn của mình để sử dụng nó
Tôi đã cài đặt pip bằng cách sử dụng brew install pip
numpy 1.5.1 bằng cách sử dụng pip install numpy
Tôi đã cài đặt scipy 0.8.0 bằng cách sử dụngpip install scipy

Đây là nơi nó có lông. pip install matplotlibsẽ lấy phiên bản sai của matplotlib , không tương thích với phiên bản gần đây của numpy.

Giải pháp là tìm nạp phiên bản chính xác của matplotlib theo cách thủ công:

pip install -f http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz matplotlib

Nhưng , phiên bản đó không thể biên dịch vì nó không thể tìm thấy các tiêu đề freetype:

Trong tệp được bao gồm từ src / ft2font.cpp: 1:
src / ft2font.h: 14: 22: error: ft2build.h: Không có tệp hoặc thư mục như vậy

Các tiêu đề này thực sự được cài đặt /usr/X11/includenhư một phần của các công cụ dành cho nhà phát triển X11.

Vì vậy, làm thế nào tôi có thể làm cho matplotlib sử dụng các tiêu đề này?


Đã thử brew install freetypechưa?
ismail

Vâng. Gói đó không có sẵn. Tuy nhiên, có một công thức trên github cung cấp nó. Không giúp đỡ, mặc dù.
bastibe

1
brew install freetypelàm việc cho tôi kể từ ngày 7 tháng 11 năm 2012
drootang

Câu trả lời:


18

Vấn đề là khi các phần mở rộng C được biên dịch, các tệp tiêu đề bắt buộc không có trong đường dẫn tìm kiếm và khi chúng được liên kết, các thư viện dùng chung cũng không nằm trong đường dẫn tìm kiếm.

Sau đây làm việc cho tôi:

export LDFLAGS="-L/usr/X11/lib"
export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng12"
pip install matplotlib-1.0.1.tar.gz

12

Câu trả lời đơn giản là: Bạn cần phải pkg-infocài đặt nếu setup.pykhông sẽ không thể tìm thấy các thư viện đã cài đặt.


1
Làm thế nào để cài đặt pkg-info?
bradley.ayers

@bradleybrew install pkg-info
bastibe

7
Trên thực tế, tôi nghĩ rằng nó nên được pkg-config, vì vậy brew install pkg-config. Và đừng quên brew linknó quá.
noio

Tôi đã cài đặt pkg-config, nhưng nó không hoạt động. giải pháp bradley.ayers làm việc cho tôi.
schlamar

Đảm bảo tệp freetype2.pc nằm ở vị trí pkg-config biết để đọc
drootang

3

Tôi đã làm theo hướng dẫn của trang này . Tôi bị kẹt ở

pip install -e git+https://github.com/matplotlib/matplotlib#egg=matplotlib-dev

Sau đó, tôi đã làm:

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

Kiểm tra cài đặt của tôi bằng cách gõ vào terminal:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

Tôi đã có phiên bản 1.1.0 (khi viết bài này) và đường dẫn / usr / local / Cellar / ...


Kể từ hôm nay, Matplotlib sẽ có phiên bản 1.0.1. Tôi thực sự đã viết một cái gì đó về điều này ở đây . Có lẽ bạn có thể tìm thấy một số thông tin hữu ích trong đó.
bastibe

Xin lỗi, đó là một lỗi đánh máy. Ý tôi là 1.1.0.
David Xia

3

Nhìn chung, bạn có thể sử dụng MacPorts hoặc Fink . Với MacPorts, đây sẽ là

sudo port install py27-matplotlib

trong đó giải quyết các phụ thuộc tự động.

Cá nhân tôi đã sử dụng Macports để cài đặt python2.7 với matplotlib và nó dường như hoạt động tốt vào ngày 10.7. Fink đang trong quá trình nâng cấp nội bộ của họ để hoạt động với hệ thống xây dựng 10.7 mới.


1
Cá nhân tôi thích Homebrew hơn MacPorts hoặc Fink vì nó phụ thuộc vào lib hệ thống và dễ hack hơn. Nếu bạn không quan tâm đến điều đó, sử dụng MacPorts hoặc Fink có lẽ là giải pháp dễ nhất.
bastibe

3

Câu trả lời là, không có thư viện freetype. chỉ đơn giản là ủ nó:

brew install freetype

brew install freetype -> Error: Không có công thức có sẵn cho freetype. Có phải tên đã thay đổi?
Tom

1
brew install freetypecài đặt libpngquá.
LWZ

1

với OS X 10.10.3 tôi đã sửa nó bằng lệnh này

bia cài đặt freetype libpng pkg-config

pkg-config đã khắc phục sự cố!

Sau khi đọc vấn đề này, tôi quản lý để sửa nó


1

Vấn đề tương tự khi sử dụng macports. Đã sửa với:

sudo port install pkgconfig

như noio đề nghị cho bia ở trên.



0

Ngày nay, cách dễ nhất có lẽ là conda install matplotlibsử dụng condatrình quản lý gói theo phân tích liên tục.

Lưu ý rằng bạn có thể cài đặt và sử dụng condamà không phải sử dụng bản phân phối Anaconda đầy đủ. Chỉ là pip install conda, conda initvà bạn tốt để đi.


0

Tôi đã viết cùng một câu trả lời ở đây nhưng tôi nghĩ nó có thể được quan tâm trong cuộc thảo luận này.

Tôi đã cài đặt matplotlib trên OSX 10.10, đọc https://github.com/matplotlib/matplotlib/pull/3713 .
Đây không phải là một giải pháp cho người dùng pip; chỉ là một cách để cài đặt matplotlib trên máy Mac của tôi để chờ sửa chữa.

Tôi đã tải xuống các nguồn cho matplotlib 1.4.2,
đã thay đổi dòng 960 trong setupext.py như được mô tả trong https://github.com/matplotlib/matplotlib/pull/3713/files :

'freetype2', 'ft2build.h',

'freetype2', 'freetype2/ft2build.h'

và sau đó được biên dịch và cài đặt với:

python setup.py build
python setup.py install
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.