2012-07-16 96 views
6

Điều gì đó có thể không gây ra cho tôi nhiều vấn đề như vậy.Cài đặt thư viện hình ảnh Python (PIL) trên Ubuntu

Tôi đang cố cài đặt PIL trên máy chủ Ubuntu của mình. Nó đang cài đặt tốt. Tuy nhiên mỗi khi tôi thử và cập nhật cơ sở dữ liệu để thêm trường hình ảnh, tôi nhận được lỗi sau:

Lỗi: Một hoặc nhiều mô hình không xác thực: product.product: "image": Để ​​sử dụng ImageFields, bạn cần cài đặt Thư viện hình ảnh Python. Nhận nó tại http://www.pythonware.com/products/pil/.

Tôi vừa mới nhận ra mình đã đăng nhập với tư cách người dùng của mình. Tôi có cần đăng nhập bằng root để cài đặt không? Tôi đang làm điều này trên một VPS không phải là một máy địa phương.

Tôi đã thử tải các hướng dẫn trên web và không nhận được bất kỳ đâu.

+0

Đây có phải là 'ImageField' của Django không? –

+1

Có vẻ như bạn không có quyền cài đặt các mô-đun vào các gói trang web của hệ thống nếu bạn không đăng nhập bằng root. Nếu bạn không được phép, bạn có thể muốn thiết lập virtualenv và đi từ đó –

+0

Thankyou .. Tôi đã thiết lập virtualenv cho trang web của mình. Tôi ban đầu cài đặt nó trong virtualenv (Tuy nhiên tôi nghĩ rằng nó được cài đặt vào hệ thống chính). Làm thế nào tôi sẽ đi về cài đặt nó vào virtualenv? – JDavies

Trả lời

21

Tôi phải cài đặt python-dev rồi cài đặt PIL bên trong virtualenv của tôi.

Tất cả đang hoạt động.

Cảm ơn sự giúp đỡ của bạn! :)

+0

và trước tiên, hãy cài đặt apt-get libjpeg-dev libpng-dev để nhận hỗ trợ jpeg – PhoebeB

4

Nếu bạn không phải là gốc, sau đó nhập lệnh sau nên cài đặt python-ảnh:

sudo apt-get install python-imaging 

Hoặc (nếu bạn là root), lệnh sau đây (không có sudo) sẽ cài đặt python-hình ảnh

apt-get install python-imaging 
+0

Cảm ơn câu trả lời của bạn. Tôi đã thử cả hai lệnh này và đây là thông báo tôi nhận được: hình ảnh python đã là phiên bản mới nhất. 0 được nâng cấp, 0 mới được cài đặt, 0 để xóa và 33 không được nâng cấp. – JDavies

+0

Điều đó có nghĩa là bạn đã cài đặt PIL trong hệ thống của mình; bạn không cần phải cài đặt nó nữa –

0

bạn lý tưởng nên được sử dụng một virtualenvpip install pil có ... Nếu bạn có quyền truy cập và muốn sử dụng gói rộng hệ thống, sau đó bạn cần phải nâng cao để root (sudo) để easy_install hoặc pip insta ll.

Đảm bảo máy chủ của bạn (Django?) Được khởi động lại để có thể nhận thư viện mới. (Trình thông dịch không phải lúc nào cũng nhận các mô-đun mới được cài đặt trong khi nó đang chạy).

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