2010-07-08 45 views
10

Tôi đang cố gắng cài đặt thư viện PIL trong môi trường ảo mà tôi đã tạo.Sử dụng Thư viện ảnh Python với VirtualEnv trên Windows

Thông thường để cài đặt PIL tôi muốn lấy cài đặt, tuy nhiên điều này sẽ không cho phép tôi chọn virtualenv của tôi chỉ thư mục gốc Python của tôi (C:/Python26).

Tôi đã thử cả pip cài đặt PIL và PIP easy_install nhưng chúng không hoạt động. Tôi cũng đã thử tải xuống TAR, trích xuất và chạy setup.py install

Django vẫn đang từ chối mô hình của tôi có chứa ImageField(). Có ai có giải pháp không?

Một lỗi mà thường xảy ra là dưới đây:

Unable to find vcvarsall.bat 

Edit:

OK Tôi đã thử một virtualenv tươi và sử dụng easy_install mà không hiển thị lỗi biên dịch.

Sau đó, tôi mở vỏ Python và nó cho phép tôi import PILimport _imaging, tuy nhiên khi tôi cố gắng sử dụng ImageField() trong django các mô hình của tôi vẫn không xác thực.

Trả lời

4

OK đây có vẻ là sự cố VirtualEnv.

Mặc dù tạo một VirtualEnv mới với đối số -no-site-packages, trang web Django của tôi tìm nạp các tệp django từ gốc cài đặt C:/Python26/Lib/site-packages/ thay vì cục bộ.

Django sau đó cố gắng tìm nạp PIL trong thư mục gốc site-packages mà nó không thể tìm thấy và dẫn đến lỗi.

Tôi không biết tại sao điều này xảy ra. Nếu tôi mở trình thông dịch python, các tệp django gốc sẽ không xuất hiện trên đường dẫn.

Sau khi khắc phục easy_install PIL sẽ hoạt động.

0

Bạn có (phiên bản mới nhất của) Visual Studio được cài đặt không?

Đó là nơi vcvarsall.bat đến từ đâu, và những gì xây dựng bất kỳ phần mở rộng Python từ các nguồn C trên Windows muốn sử dụng (có cách sử dụng mingw thay vào đó, nếu đó là vấn đề thực tế của bạn).

(Tôi đang nói "phiên bản mới nhất" vì tôi tin rằng đó là bản phân phối python.org của Python 2.6 cho Windows được xây dựng với).

+0

Tôi đã cài đặt Visual Studio 2010, không chắc chắn đã đi từ đây mặc dù. – Ash

+0

@Anarchist, là thư mục mà .bat sống trên biến môi trường PATH của bạn? –

+0

Tôi đã thêm nó vào PATH nhưng nó vẫn nói rằng nó không thể được tìm thấy. – Ash

6

Đổi tên từ PIL-1.1.7-py2.6-win32.egg thành PIL trong thư mục gói trang web.

+0

Wow, điều đó thật khó chịu. Cảm ơn. – Tom

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