2010-11-04 73 views
18

Tôi đang cố gắng cài đặt matplotlib cho các ứng dụng vẽ đồ họa trong Python trên Mac OS X. Khi tôi chạy "python setup.py install", nó cho tôi tải lỗi này: http://pastebin.com/u7fL37ic.Không thể cài đặt matplotlib trên Mac OS X

Một đoạn nhanh:

src/ft2font.cpp:2170: error: ‘FT_LOAD_TARGET_MONO’ was not declared in this scope 
src/ft2font.cpp:2171: error: ‘FT_LOAD_TARGET_LCD’ was not declared in this scope 
src/ft2font.cpp:2172: error: ‘FT_LOAD_TARGET_LCD_V’ was not declared in this scope 
src/ft2font.cpp:2175: error: ‘_ft2Library’ was not declared in this scope 
src/ft2font.cpp:2175: error: ‘FT_Init_FreeType’ was not declared in this scope 
src/ft2font.cpp: In destructor ‘virtual ft2font_module::~ft2font_module()’: 
src/ft2font.cpp:2186: error: ‘_ft2Library’ was not declared in this scope 
src/ft2font.cpp:2186: error: ‘FT_Done_FreeType’ was not declared in this scope 
lipo: can't figure out the architecture type of: /var/folders/Nj/Njnlp9qSF64sMESWcaDnk++++TI/-Tmp-//cchyYmM5.out 
error: command 'gcc-4.0' failed with exit status 1 

Tôi đã cài đặt freetype sử dụng MacPorts, và tôi nghĩ rằng sẽ khắc phục vấn đề, nhưng không có may mắn. Cung cấp cho tôi lỗi tương tự như trước đây. Có vẻ như không thể tìm thấy các tệp tin phù hợp đúng:

BUILDING MATPLOTLIB 
     matplotlib: 1.0.0 
      python: 2.6.5 (r265:79359, Mar 24 2010, 01:32:55) [GCC 
        4.0.1 (Apple Inc. build 5493)] 
      platform: darwin 
REQUIRED DEPENDENCIES 
      numpy: 1.5.0 
     freetype2: found, but unknown version (no pkg-config) 
        * WARNING: Could not find 'freetype2' headers in any 
        * of '.', './freetype2'. 

Tôi nên đặt các tập tin kiểu chữ để tìm thấy ở đâu? Ngay bây giờ, họ đang ở/opt/local/lib

Bất kỳ ý tưởng nào?

+0

RIP John D. Hunter - tác giả của matplotlib. Rất buồn khi biết rằng anh đã qua đời. http://matplotlib.org/ – user391339

Trả lời

1

bạn cũng có thể xem xét sử dụng phân phối Enthought (mà đi kèm thậm chí miễn phí cho sử dụng phi thương mại) Nó đi kèm cài đặt đầy đủ mà không cần bất kỳ khó khăn http://www.enthought.com/products/getepd.php (Tôi không có mối quan hệ với Enthought nào - Tôi chỉ là một người sử dụng hài lòng)

+0

Quá xấu này được chọn là câu trả lời vì nó không trả lời câu hỏi ... xem câu trả lời dưới đây từ @mhowison – Christophe

4

Hãy thử các phiên bản here. Ghi chú của tôi here.

+0

Điều này không hiệu quả đối với tôi - tôi nghĩ rằng b/c tôi đang sử dụng một phiên bản của python được cài đặt trong/usr/local (thông qua brew) ... có thể hoạt động cho con trăn chuẩn được cài đặt với OSX Snow Leopard tôi đoán vậy. – dsummersl

3

Đây là cách tôi đã làm nó:

$ sudo make -f make.osx fetch deps mpl_build mpl_install 

này sẽ cài đặt nó trong /lib/python2.6/site-packages, chỉ cần di chuyển nội dung của nó để /Library/Python/2.6/site-packages/ cho nhất quán.

+0

Hey, đã cố gắng chạy và nhận được lỗi này: IOError: [Errno socket error] [Errno 51] Network is unreachable make: *** [fetch] Lỗi 1 Suy nghĩ? – tchaymore

+1

không có kết nối mạng? – rytis

7

Tôi đã được cấp một máy tính mới làm việc gần đây (MacBook Pro OS 10.6.5), và muốn cài đặt numpy + scipy + matplotlib trong môi trường ảo Python. Tôi không phải là chuyên gia, nhưng môi trường ảo dường như cho phép bạn cài đặt các gói sao cho chúng bị cô lập khỏi các gói hệ thống, về cơ bản bằng cách xác định lại đường dẫn hệ thống một cách thông minh. Vì vậy, đối với một dự án tôi đang làm việc đòi hỏi một số phiên bản của các gói này, tôi có thể cài đặt chúng một lần và thực hiện tất cả công việc của mình cho dự án đó, độc lập với những thay đổi khác tôi tạo ra bên ngoài môi trường.

Sau nhiều lần thử và lỗi, tôi có thể xây dựng một môi trường ảo với Numpy 1.5.1, Scipy 0.8.0 và Matplotlib 1.0.0 tất cả chạy hoàn hảo. Đây là cách:

Đầu tiên, cài đặt bốn gói sau:

  • freetype-2.4.4
  • libpng, phiên bản 1.4.5 tìm thấy tại http://ethan.tira-thompson.org/Mac_OS_X_Ports.html. Cài đặt matplotlib không thành công khi tôi cố gắng cài đặt 1.5.0 từ nguồn!
  • pkg-config, phiên bản 0,23
  • virtualenv cho python2.6

(Tôi là một người dùng mới nên tôi không thể gửi liên kết đến các, xin lỗi!).

Nếu bạn cài đặt từ mã nguồn, sử dụng một tiêu chuẩn cài đặt:

  • $./ Cấu hình
  • $ make
  • $ sudo make install

Tiếp theo, tải về các tập tin nguồn cho numpy, scipy, và matplotlib.

Bây giờ là lúc để tạo ra một môi trường ảo trong thư mục TESTENV:

$ virtualenv/path/to/dir/TESTENV

Kích hoạt các môi trường ảo:

$ nguồn./path/to/dir/TESTENV/bin/kích hoạt

Bây giờ, các gói python sẽ được cài đặt trong TESTENV như thể nó là thư mục cài đặt gốc. Có gì làm việc cho tôi là để thực hiện:

$ python setupegg.py cài đặt

trong các thư mục NumPy, scipy, và nguồn matplotlib (theo thứ tự đó).

Hy vọng điều đó sẽ hữu ích!

+0

http://pypi.python.org/pypi/virtualenv – user391339

2

Tôi rất muốn giới thiệu số StrongInference Scipy Superpack. Nó hoạt động với Apple được cung cấp sẵn Python trên 10.6 Snow Leopard, và điều này hiện đang làm việc với 10.9. Thân thiện với cả cài đặt 32 bit và 64 bit. Nó không yêu cầu cài đặt một phân phối Python riêng biệt hoặc các trình quản lý gói như Macports hoặc Fink.

Sử dụng nó bằng cách tải xuống tập lệnh shell đầu tiên từ this page. Sau đó:

sh superpack_10.6_2011.03.07.sh 

Hoặc thay thế superpack_10.6_2011.03.07.sh bằng tên của tập lệnh shell mới nhất khi chúng cập nhật theo thời gian.

Để sử dụng, hãy đảm bảo bạn nhập ipython chứ không phải python!

+0

Các thành viên StrongInference Superpack cũng đã cập nhật kịch bản của họ cho Lion. –

+0

Denis, tôi đã sửa liên kết bị hỏng (trang đã di chuyển). Cảm ơn! –

1

Tôi đã theo dõi số page's instructions này. Tôi đã bị mắc kẹt tại

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õ trong terminal:

python 
import matplotlib 
print matplotlib.__version__ 
print matplotlib.__file__ 

Tôi có phiên bản 0.10.0 dev (như các văn bản này) và đường dẫn/usr/local/Cellar/...

1

Tôi thích sử dụng sản phẩm bia và không có giải thích nào trong ba giải thích hàng đầu hoạt động hoặc đã được sử dụng ng với tôi. Tuy nhiên, tôi đã xem xét một số chi tiết, và tìm thấy bia này giải thích thân thiện và giải pháp:

http://jholewinski.org/blog/installing-matplotlib-on-os-x-10-7-with-homebrew/

Tóm tắt: libpng trên Snow Leopard không có mối quan hệ thân thiện với matplotlib.Bạn có thể tự cài đặt matplotlib un phát hành để làm việc xung quanh nó:

brew install python 
brew install gfortran 
brew install pkg-config 
easy_install pip 
pip install numpy 
git clone https://github.com/matplotlib/matplotlib.git 
cd matplotlib 
python setup.py build 
python setup.py install 
2

tôi nhận được một lỗi tương tự - bạn đang bỏ lỡ các tập tin phát triển cho libfreetype - trên máy linux của tôi - đây là libfreetype6-dev

Sau khi tôi cài đặt pip này đã làm công việc của nó.

33

Gốc của sự cố là freetype và libpng được cài đặt ở vị trí không chuẩn theo XCode, trong/usr/X11 thay vì/usr hoặc/usr/local.

Tất cả các câu trả lời đã được đưa ra giải quyết vấn đề bằng cách xây dựng lại freetype và libpng, theo cách thủ công hoặc sử dụng trình quản lý gói như homebrew.

Bạn có thể, tuy nhiên, được Matplotlib để biên dịch bằng cách đơn giản symlinking các freetype/tiêu đề và thư viện libpng hiện vào/usr/cây địa phương với:

sudo mkdir -p /usr/local/include 
sudo ln -s /usr/X11/include/freetype2/freetype /usr/local/include/freetype 
sudo ln -s /usr/X11/include/ft2build.h /usr/local/include/ft2build.h 
sudo ln -s /usr/X11/include/png.h /usr/local/include/png.h 
sudo ln -s /usr/X11/include/pngconf.h /usr/local/include/pngconf.h 
sudo ln -s /usr/X11/include/pnglibconf.h /usr/local/include/pnglibconf.h 
sudo mkdir -p /usr/local/lib 
sudo ln -s /usr/X11/lib/libfreetype.dylib /usr/local/lib/libfreetype.dylib 
sudo ln -s /usr/X11/lib/libpng.dylib /usr/local/lib/libpng.dylib 

Tôi thích xây dựng các gói python với pip, vì vậy sau đó tôi sẽ sử dụng:

sudo pip install matplotlib 

Nếu bạn chưa có pip, bạn có thể cài đặt nó với easy_install (mà đi kèm với OS X):

sudo easy_install pip 

Tôi chỉ thử nghiệm điều này trên 10,7 (Sư tử) nhưng tôi nghi ngờ nó cũng sẽ hoạt động với 10.6.

Đó là một chút hack, nhưng tôi đã tìm thấy nó là cách dễ nhất để cài đặt matplotlib vào khung python stock đi kèm với OS X. Khung python stock trong 10.7 thực sự khá tốt, và bao gồm, ví dụ, một gói numPy-1.5.1 được liên kết chống lại thư viện BLAS tối ưu hóa của Apple (tăng tốc):

dyldinfo -dylibs /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/linalg/lapack_lite.so 
for arch x86_64: 
attributes  dependent dylibs 
      /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 
      /usr/lib/libSystem.B.dylib 
+0

đây là cách duy nhất mà từ đó tôi đã cố gắng làm việc cho tôi (không muốn trả tiền cho EPD), cảm ơn! – vasek1

+7

CẬP NHẬT: trong OS X Mountain Lion (10.8), X11 không còn được cài đặt theo mặc định và bạn cần cài đặt XQuartz thay thế (xem support.apple.com/kb/HT5293). Tin tốt là tôi tìm thấy một cách đơn giản hơn để cài đặt matplotlib mà không cần tạo liên kết tượng trưng vào/usr/local. Nếu bạn đã cài đặt pkg-config (ví dụ thông qua homebrew), hãy chạy "sudo PKG_CONFIG_PATH =/opt/X11/lib/pkgconfig pip install matplotlib", sau đó sẽ lấy phụ thuộc chính xác (libpng, freetype) từ XQuartz qua pkg-config. – mhowison

+0

Phương thức trên (với 'PKG_CONFIG_PATH') không hoạt động đối với tôi trên 10.8.4. –

8

Cũ, nhưng vẫn xuất hiện trong tìm kiếm của tôi khi tôi đã có cùng một vấn đề trên Snow Leopard .

Bạn nói rằng bạn đang sử dụng homebrew, vì vậy bạn cần phải

brew link freetype 

sau khi cài đặt nó (với "brew cài đặt freetype").

Điều này gặp phải lỗi đó. Tôi đã làm điều tương tự với libpng, dẫn đến cài đặt thành công.

2

Chạy vào điều này mỗi khi tôi xây dựng matplotlib. Giải pháp của tôi:

export CFLAGS=-I/usr/X11/include/freetype2 
python setup.py install 
3

Tôi đã gặp vấn đề tương tự khi cố gắng cài đặt matplotlib. Sau khi thử một số giải pháp trên, tôi chỉ cần chạy

brew install freetype 

sau đó, quá trình cài đặt diễn ra tốt đẹp cho đến khi không tìm thấy png.h. Tôi đã chạy

brew install libpng 

Cài đặt hoàn tất và matplotlib được cài đặt.

(trên hệ điều hành X 10.8.4)

+0

Đó là cách dễ nhất để làm điều đó. Hoạt động tốt trên 10,9 là tốt. –

1

Hãy thử symlinking freetype2 để freetype:

ln -s /usr/local/opt/freetype/include/freetype2/ /usr/local/include/freetype 
0

tôi đã có thể có được điều này để làm việc mà không sửa đổi PATH của tôi, vv Có vẻ như vấn đề của tôi là thư viện freetype (cài đặt với bia) không được tìm thấy khi sử dụng một con trăn không brew

brew install python 
brew install freetype 
# maybe more dependencies 

Sau đó tạo một virtualenv sử dụng python brew (mà không chỉ định rõ ràng đường dẫn đến python brew tôi thấy rằng các virtualenv brew vẫn sẽ sử dụng mặc định OSX/usr/bin/python) :

/usr/local/bin/virtualenv -p /usr/local/bin/python env 
source env/bin/activate 
pip install matplotlib 
Các vấn đề liên quan