2014-04-01 114 views
1
RuntimeError: NotImplementedError('Unable to find the Python Python Imaging Library. Please view the SDK documentation for details about installing PIL on your system.',). 

通過谷歌應用程序引擎日誌我得到這個錯誤。 我試圖上傳圖片。 我已經安裝了PIL,但仍然顯示無法找到。 我已經在PIL無法找到

C:\Python27\Lib\site-packages. 

安裝它這是在app.yaml中

application: uniqueappid 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /static 
    static_dir: static 

- url: /.* 
    script: main.app 

libraries: 
- name: jinja2 
    version: latest 
- name: PIL 
    version: 1.1.7 
+0

你關注了這一個https://developers.google.com/appengine/docs/python/images/installingPIL? –

+0

雅我做了,但它仍然顯示相同的事情 – user3484417

回答

0

如果發生這種情況的PIL庫無法加載任何原因。我正在運行OSX,所以你的解決方案對你來說可能會有所不同,但也許描述我所做的將幫助其他人。

對我來說,問題在於我的Python 2.7.13 for OSX沒有附帶yaml庫,並且因此需要圖像庫失敗。運行這個固定我的問題:

sudo pip install pyyaml 

總安裝我需要得到的圖像API本地工作爲以下幾點:

sudo pip install Pillow pyyaml 

該軟件包需要在全球範圍內安裝,因爲他們將由API服務器使用。使用-t在本地安裝軟件包並將庫目錄添加到appengine_config.pyDID NOT WORK

除了這個,我需要有版本在我的app.yaml固定爲1.1.7,即使你的枕頭版本將不會是相同的:

libraries: 
- name: PIL 
    version: 1.1.7 

如前所述,您與加載問題庫可能是不同的,所以在這裏是我發現我失蹤yaml依賴性:

從下面的最後一行調用堆棧我解釋我的應用程序引擎庫駐留在/Applications/google-cloud-sdk/platform/google_appengine

File "/Applications/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 259, in _MakeRealSyncCall 

通過讀我想出的是,如果安裝了PIL它負責檢測模塊是google.appengine.api.images.images_stub的代碼,所以我做了以下:

cd /Applications/google-cloud-sdk/platform/google_appengine/ 
python -c 'from google.appengine.api.images import images_stub' 

..這導致以下錯誤:

Traceback (most recent call last): 
[... callstack omitted ...] 
ImportError: No module named yaml 

這讓我發現導入失敗是因爲缺少yaml模塊。