2010-03-19 18 views
7

Tôi đang cố chạy một ứng dụng web trên máy của mình, nó đang chạy trên OSX 10.6.2 và tôi đang gặp một số sự cố:Lỗi Django/PIL - Bắt ngoại lệ trong khi hiển thị: Mô-đun _imagingft C chưa được cài đặt

Caught an exeption while rending: The _imagingft C module is not installed 

Làm _imagingft nhập khẩu trăn mang lại cho tôi điều này:

>>> import _imagingft 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imagingft.so, 
2): Symbol not found: _FT_Done_Face 
Referenced from: /Library/Python/2.6/site-packages/PIL/_imagingft.so 
Expected in: flat namespace 
in /Library/Python/2.6/site-packages/PIL/_imagingft.so 

đó là dường như các thư viện freetype là một gặp vấn đề. Không có lỗi cho đến nay khi cài đặt PIL hoặc khi tôi biên soạn (?) Các thư viện jpeg và freetype cho đến nay.

Tôi đang sử dụng django 1.1.1, python 2.6.2.

+0

làm thế nào bạn cài đặt PIL? –

+0

Tôi gặp lỗi tương tự khi chạy PIL 1.1.7 cho Python 2.6 trên XP. Nếu không có giải pháp làm việc thử PIL 1.1.6 thay thế. –

+0

@Dmitry Sử dụng sudo python setup.py cài đặt – kenok

Trả lời

3

Tôi cũng gặp sự cố này. Không thể giải quyết nó bằng PIL 1.1.6 và PIL 1.1.7. Tôi cài đặt py26-pil từ cổng và presto, nó hoạt động.

sudo port install py26-pil 

Nếu bạn không có cổng, đi đến http://www.macports.org/

1

Có lỗi như thông thường, vì một trong các phụ thuộc PIL không được biên dịch thành nhị phân chung.

Hãy thử điều này:

  1. Tải về khuôn khổ cho freetype tại this website
  2. Tải gói cho libjpeg8 tại this website
  3. Hủy bỏ các tập tin mà bạn ban đầu cài đặt cho libjpeg và freetype
  4. Cài đặt mới gói
  5. Xóa thư mục xây dựng của bạn cho PIL
  6. Xây dựng lại và cài đặt PIL

Nhưng nếu bạn muốn thử biên dịch nhị phân chung trước tiên, là khách của tôi. Vấn đề cụ thể của tôi là thực sự với libjpeg, và cho dù tôi đã biên soạn nó như thế nào, PIL vẫn đang bị cấm trên import _imaging. Vì vậy, tôi đã chọn cho các phiên bản đóng gói. Tôi không nghĩ rằng libjpeg hoặc freetype đặc biệt có lợi từ việc tự biên dịch chúng.

gói libjpeg8 cài đặt để local/lib gói freetype/usr/

cài đặt vào thư mục/Library/Frameworks của bạn.

0

Môi trường không được thiết lập một cách chính xác để xây dựng libjpeg binaries OS X PIL \ sử dụng easy_install. Hướng dẫn này sẽ giúp http://fightingrabbits.com/archives/266 - Đó là để cài đặt Python/Django nhưng đi qua các thiết lập PIL cần thiết đầu tiên và làm việc cho tôi trên 10.6.x

9

Trước khi (lại) cài đặt PIL thêm sysmlinks sau để kích hoạt freetype trên Mac 10,6 Snow Leopard:

ln -s /usr/X11/include/freetype2 /usr/local/include/ 
ln -s /usr/X11/include/ft2build.h /usr/local/include/ 
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/ 
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.dylib 
+1

cũng hoạt động trong sư tử! – priestc

+0

Dường như các tệp đã tồn tại trong/usr/local/lib/nằm trong i386 trong khi các tệp trong/usr/X11/lib/nằm trong x86-64. Vì vậy, xóa những cái cũ và symlinking đến những cái mới làm các trick. Cảm ơn! – Devang

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