web-dev-qa-db-ja.com

PILエラー:_imagingCモジュールがインストールされていません

PIL(Python Imaging Library)をインストールしています。

Pythonを実行すると:

import PIL
import Image
import _imaging

エラーは発生しません。ただし、アプリを実行すると発生します

The _imaging C module not installed
16
ApPeL

Windowsでは、C:\ Python27内の_imaging.pydと_imagingft.pydを削除します。すべての_imagingモジュールをC:\ Python27\Lib\site-packages\PILフォルダー内に残します。

わたしにはできる。

3
gordon86

私はあなたが送ったリンクにこの応答を投稿しました(それをありがとう)、しかし私がソースにも投稿すると思いました。重複投稿でごめんなさい。

ものを再コンパイルせずにこれを行う方法があることを望んでいました。私はたまたま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 
>>

これがお役に立てば幸いです。

3
Joe J

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.sosys.pathのどこにもありませんでした。

これを回避するいくつかの方法があります:

PIL Cモジュールをすでにパス上のどこかに配置します:

/path/to/google_appengine/lib/PIL-1.1.7sys.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を再起動する必要がある場合があります。インタラクティブコンソール。

2
rescdsk

問題が存在する理由は、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進エディターで簡単にパッチを適用できます。

0
Transformer

_imaging.*フォルダーにlib/site-packages/PILファイルが完全にありませんでした。

ここからEggをダウンロードしました(正しいファイルはプラットフォームによって異なります):

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

名前を.Eggから.Zipand copied all the files in the folderPILthat start with_ Imagingto the folderlib/site-packages/PIL`に変更しました。

.. 問題が解決しました

0
Matthias Kuhn