2010-06-19 129 views
15

我安裝了PIL(Python圖像庫)。PIL錯誤:未安裝_imaging C模塊

當我運行的Python:

import PIL 
import Image 
import _imaging 

我不明白的錯誤。但是,運行我的應用程序時,它會引發

The _imaging C module not installed 
+0

我有同樣的問題。在** python 2.7.8 **(當前最新版本)的乾淨安裝之上清潔安裝** PIL 1.1.7 **(當前最新版本)修復了這個問題。確保你的Python 2.7是** 32位**。 – 2014-08-02 15:08:15

回答

3

我貼你送(感謝你)的鏈接這種反應,但想我會發布的來源。對不起,這個傻瓜帖子。

我希望有一種方法可以在不重新編譯的情況下做到這一點。我恰好在使用virtualenv。我確實發現,如果我吹掉我的虛擬env安裝,然後用pip重新安裝,Imaging重新開始工作。這些步驟似乎工作(注意,我使用OSX)

不知道這比什麼都重要,但檢查是否JPEG安裝

winesap:~ $ port installed | grep -i jpeg 
    jpeg @7_0 
    jpeg @8a_0 (active) 

確保我有PIP安裝

sudo port -v install py26-pip 

刪除舊的虛擬環境我有,然後重新創建

rm -rf ve 
virtualenv –no-site-packages –distribute ve 
. ./ve/bin/activate 

安裝PIL和djan進入虛擬環境

echo 「pil」 > requirements.pip 
echo 「django」 >> requirements.pip 
pip-2.6 install -E ./ve/ -r requirements.pip 

測試以查看導入現在是否有效。注意缺乏令人討厭的C模塊錯誤

python 
>>import import ImageFont 
>> 

希望這是有用的。

+0

是的,沒有問題,我的是完全基於純粹的Apache Apache mod_wsgi django和python – ApPeL 2010-06-29 06:57:01

3

在Windows上,刪除C:\ Python27中的_imaging.pyd和_imagingft.pyd。 將所有_imaging模塊留在C:\ Python27 \ Lib \ site-packages \ PIL文件夾中。

它適用於我。

2

如果from PIL import Image有效但import _imaging失敗,以下是一些可能對您有幫助的事情。如果Image也不成功,最後請參閱備註

在Ubuntu 13.04(raring)上,我遇到了這個問題。事實證明,Ubuntu在App Engine不期望的地方安裝_imaging.so/usr/lib/python2.7/dist-packages而不是/usr/lib/python2.7/dist-packages/PIL。所以_imaging.so並不在sys.path的任何地方。

下面是解決此一對夫婦的方式:

把PIL的C模塊已經某處的道路上:

我注意到,/path/to/google_appengine/lib/PIL-1.1.7sys.path,但目錄並沒有在我的安裝存在。所以我創建了目錄並將.so文件複製到其中,並且一切正常。每次更新App Engine SDK時,都必須重新執行此操作,但至少不會混淆正在開發的代碼。

main.py操縱sys.path中:

該代碼會檢查我們是否正在運行的開發應用程序服務器,如果是的話,正確的目錄添加到路徑。未經測試,但它應該工作;)

# Find _imaging.so and put its directory here. 
# `locate _imaging.so` or `dpkg -L python-imaging` 
PIL_PATH = '/usr/lib/pyshared/python2.7/' 

PRODUCTION_MODE = not os.environ.get(
    'SERVER_SOFTWARE', 'Development').startswith('Development') 

if not PRODUCTION_MODE: 
    sys.path.insert(PIL_PATH) 

我想,這可能會使不僅僅是提供給您的PIL模塊的更多,這樣就會推出(但更多)的研發和生產之間的差異。此外,這項技術涉及修改您的應用程序的源代碼,如果有多人開發它,這看起來像是一個糟糕的電話。


:如果import Image失敗,你可能會忘記了PIL庫添加到您的app.yaml

libraries: 
- name: PIL 
    version: "latest" 

您可能需要添加此庫,用於在例如反映更改後重新啓動dev_appserver.py交互式控制檯。

0

爲什麼這個問題的存在,是與PIL 1.1.6? (只有1.1.7), 版本1.1.6是否不使用這些庫?

PIL 1.1.6還使用其內部的C庫來加快速度。

對於Windows,您應該使用預編譯的軟件包。 http://www.pythonware.com/products/pil/提供了用於 1.1.7的X86 Windows二進制文件。您可能會遇到1.1.7 Windows二進制文件的問題。 freetype C庫的 引用了一個在所有 機器上都不可用的調試CRT。您可以使用十六進制編輯器輕鬆修補_imagingft.pyd文件。

+0

你能否幫助詳細如何解決_imagingft.pyd文件中的CRT引用十六進制編輯器?謝謝 – egesuato 2017-10-17 12:10:33

+0

看看這裏的解決方案,看看它是否有幫助https://bitbucket.org/effbot/pil-117/issues/1/windows-build-of-_imagingft-module-fails。請仔細檢查它們,並在嘗試解決方案之前進行備份 – Transformer 2017-10-21 21:31:44

0

我完全錯過lib/site-packages/PIL文件夾中的_imaging.*文件。

我下載了雞蛋從這裏(正確的文件取決於平臺):

https://pypi.python.org/pypi/Pillow/2.7.0

改名從.egg爲.zip and copied all the files in the folder PIL that start with _imaging to the folder的lib/site-packages中/ PIL` 。

..問題解決了