PIL(Python Imaging Library)をインストールしています。
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を使用しています。仮想envのインストールを吹き飛ばしてから、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(まれ)で、この問題が発生しました。 Ubuntuは、AppEngineが予期しない場所に_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.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用のX86Windowsバイナリを提供します。 1.1.7Windowsバイナリで問題が発生する可能性があります。 FreeType Cライブラリは、すべてのマシンで使用できるわけではないデバッグCRTを参照します。 _imagingft.pydファイルには16進エディターで簡単にパッチを適用できます。
_imaging.*
フォルダーにlib/site-packages/PIL
ファイルが完全にありませんでした。
ここからEggをダウンロードしました(正しいファイルはプラットフォームによって異なります):
https://pypi.python.org/pypi/Pillow/2.7.
名前を.Eggから.Zipand copied all the files in the folder
PILthat start with
_ Imagingto the folder
lib/site-packages/PIL`に変更しました。
.. 問題が解決しました