![](/img/trans.png)
[英]PIL will not import the _imaging C module: “*** The _imaging C module is not installed”
[英]PIL error: The _imaging C module is not installed
我安裝了PIL(Python映像庫)。
當我運行Python時:
import PIL
import Image
import _imaging
我不會得到錯誤。 但是,在運行我的應用程序時,它會提升
The _imaging C module not installed
在Windows上,刪除C:\\ Python27中的_imaging.pyd和_imagingft.pyd。 將所有_imaging模塊保留在C:\\ Python27 \\ Lib \\ site-packages \\ PIL文件夾中。
這個對我有用。
我在你發送的鏈接上發布了這個回復(謝謝你),但我想也會在源代碼上發帖。 對不起該死的帖子。
我希望有一種方法可以做到這一點,而無需重新編譯。 我碰巧使用virtualenv。 我確實發現如果我吹掉我的虛擬環境安裝,然后用pip重新安裝,則映像開始再次運行。 這些步驟似乎有效(注意,我正在使用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和django安裝到virtualenv中
echo “pil” > requirements.pip
echo “django” >> requirements.pip
pip-2.6 install -E ./ve/ -r requirements.pip
測試導入是否現在有效。 注意缺乏令人討厭的C模塊錯誤
python
>>import import ImageFont
>>
希望這很有用。
如果from PIL import Image
工作但import _imaging
失敗,這里有一些可能對您有幫助的事情。 如果Image
失敗,請參閱最后的注釋 。
在Ubuntu 13.04(raring)上,我遇到了這個問題。 事實證明,Ubuntu的安裝_imaging.so
在App Engine不想到的地方: /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.7
在sys.path
,但我的安裝中不存在該目錄。 所以我創建了目錄並將.so文件復制到其中,一切正常。 每次更新App Engine SDK時,您都必須再次執行此操作,但至少它不會破壞您正在開發的代碼。
在main.py
操作sys.path:
此代碼將檢查我們是否正在運行dev appserver,如果是,請將正確的dir添加到路徑中。 未經測試但它應該工作;)
# 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
,以便在例如交互式控制台中反映更改。
問題存在的原因是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文件。
我完全錯過了lib/site-packages/PIL
文件夾中的_imaging.*
文件。
我從這里下載了雞蛋(正確的文件取決於平台):
https://pypi.python.org/pypi/Pillow/2.7.0
將其從.egg重命名為.zip, and copied all the files in the folder
that start with
_imaging that start with
and copied all the files in the folder
PIL and copied all the files in the folder
to the folder
lib / site-packages / PIL`。
.. 問題解決了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.