2009-07-23 47 views
11

Cài đặt Google App Engine SDK.Python 2.6 hoàn hảo. Muốn đi vào hình ảnh và thử nghiệm cục bộ.Được cài đặt PILKhông thể tìm thấy thư viện PIL của Python.Google App Engine

Cài đặt Python, sau đó chạy cài đặt PIL, làm việc lần này.

Mọi thứ có vẻ tốt, nhưng cố gắng làm localhost hình ảnh thao tác cho:

"NotImplementedError: Unable to find the Python PIL library. Please 
view the SDK documentation for details about installing PIL on your system." 

hệ thống: winxp

Trả lời

3

Chúng tôi có thể sẽ cần thêm thông tin, vì vậy đây là một số câu hỏi và điều cần thử.

Bạn đang cố gắng truy cập vào PIL như thế nào? Bạn đang cố gắng sử dụng mô-đun google.appengine.api.images hoặc PIL trực tiếp? Nghe có vẻ như trước đây, nhưng nó không rõ ràng.

Bạn có theo dõi the App Engine instructions không?

Mã bưu điện, nếu có thể.

Có lẽ điều quan trọng nhất cần thử: xem bạn có thể sử dụng PIL từ tập lệnh không phải của App Engine hay không. Chỉ cần viết một kịch bản Python nhanh để truy cập nó và xem nó như thế nào. Một cái gì đó như:

import Image 
im = Image.open('filename.png') 
im.show() 

Nếu điều đó không có tác dụng, không ngạc nhiên khi Google App Engine sẽ không hoạt động với PIL.

+0

Code: nhập khẩu Hình ảnh // AppEngine kịch bản lỗi : Không có mô-đun có tên Hình ảnh – benasio

+0

Điều đó cho thấy rằng PIL không được cài đặt đúng cách. Nó không có ở đó, hoặc không có trên đường dẫn tìm kiếm mô-đun của Python. Nếu bạn không thường xuyên thao tác với bạn đường dẫn tìm kiếm Python, tôi khuyên bạn nên xóa PIL và cài đặt lại nó, cẩn thận xem mọi lỗi xuất hiện dọc theo cách –

+0

// mã gốc nhập hình ảnh im = Image.open (' filename.png ') im.show() ////////// lỗi : Không có mô-đun tên Hình ảnh – benasio

4

Theo tôi biết, Google AppEngine không cho phép sử dụng trực tiếp PIL, mà thay vào đó, hãy cung cấp số Images API có giới hạn.

Nó có thể thay đổi kích thước/xoay/cắt và lật hình ảnh. Nhiều hơn hoặc ít hơn những gì Picasaweb có thể làm. Nhưng nó không thể tạo ra hình ảnh mới hoặc làm những điều phức tạp như chèn chữ, vẽ, vv

+1

Điều này đã được khắc phục kể từ bản phát hành 2.7. Đồng nghiệp của tôi đã có thể sử dụng thành công PIL như thể nó là một bản phân phối chuẩn trên công cụ ứng dụng. – mvanveen

3

Trên Ubuntu với python2.5 sau đây sẽ giúp:

mới repo: ppa.launchpad.net/fkrull/deadsnakes/ubuntu

sudo apt-get install python2.5 python2.5-dev libjpeg62 libjpeg62-dev

tar: http://effbot.org/media/downloads/Imaging-1.1.6.tar.gz

cd Imaging-1.1.6

.210

chỉnh sửa setup.py dòng 38: JPEG_ROOT = libinclude ("/ usr/lib")

sudo python2.5 setup.py cài đặt

Xong

+0

Điều này làm việc tuyệt vời nhờ –

+0

Điều này không áp dụng cho App Engine. – mvanveen

+0

Nó có, tuy nhiên một cái gì đó thay đổi với Ubuntu. – noiv

1

Nếu bạn rõ ràng cửa sổ log GAE bạn (giả sử bạn đang sử dụng trình khởi chạy), sau đó khởi động lại máy chủ của mình, bạn có thể thấy nội dung nào đó trong nhật ký. Trong trường hợp của tôi, tôi đã

 
    WARNING 2011-01-27 21:04:11,856 dev_appserver.py:3698] 
Could not initialize images API; you are likely missing the Python "PIL" module. 
ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart 
    Referenced from: /Library/Python/2.6/site-packages/PIL/_imaging.so 

Vì vậy, tôi có thể nói rằng tôi không liên kết cũng đủ với thư viện JPEG.

9

Tôi mất một lúc để PIL hoạt động.Chủ yếu là bởi vì tôi quên nói với công cụ ứng dụng để tải nó trong file YAML:

libraries: 
    - name: PIL 
    version: 1.1.7 

lẽ bước này là hiển nhiên, nhưng tôi không nhìn thấy nó ghi tốt trên google tài liệu hướng dẫn và tôi thấy tất cả các loại thông điệp ở đây nói rằng PIL không khả dụng trên công cụ ứng dụng. Tôi muốn xác nhận rằng PIL đang chạy trên công cụ ứng dụng.

+0

Tôi cũng chạy 'pip install Pillow' trên toàn cầu, cùng với phần trên và bây giờ mọi thứ hoạt động! :) Tôi đã tìm thấy điều này trên [Tổng quan về API Python của GAE Images] (https://cloud.google.com/appengine/docs/python/images/?csw=1). Nhìn vào '★ Note' trong đoạn mã. –

0

tôi đã chạy vào cùng một vấn đề trên máy tính Windows và sau đó tôi đã thông báo trong App Engine Documents:

Lưu ý: Ngoài các hình ảnh API, bạn cũng có thể sử dụng các phép biến đổi cung cấp trong Thư viện hình ảnh Python (PIL) trong ứng dụng Python 2.7 của bạn. Bạn chỉ cần khai báo thư viện trong phần thư viện của tệp ứng dụng app.yaml. Tuy nhiên, nếu bạn muốn sử dụng PIL trong môi trường địa phương (sử dụng máy chủ phát triển), bạn cũng phải download and install PIL hoặc gối tại địa phương.

Vì vậy, chỉ download PIL và nó sẽ hoạt động.

3

Đối với OSX 10.11.6 và Python 2.7.13 tôi cần phải cài đặt pyyaml ngoài Pillowtoàn cầu để cho server API đưa ra để chọn chúng:

sudo pip install Pillow pyyaml 

Sau này, tôi đã phải cụ thể thêm phiên bản PIL 1.1.7 vào thư viện app.yaml, mặc dù phiên bản Gối là KHÔNG 1.1.7:

libraries: 
- name: PIL 
    version: 1.1.7 

Con đường tôi thấy rằng tôi đã mất tích thư viện yaml được mô tả chi tiết hơn trong nhận xét này:

PIL cannot be found

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