web-dev-qa-db-ja.com

python / Django-「枕がインストールされていないため、ImageFieldを使用できません」

私はプロジェクトに参加しているので、環境をセットアップしたいので、私がしたことは次のとおりです。

pip install -r requirements.txt

これにより、Django 1.7.0、Pillow 2.4.0、およびその他のいくつかを含むすべての要件が完全にインストールされました。

次に、データベースを構築したいと思います。

python manage.py migrate

そして、ブーム、エラー、私は以下を得ます:

CommandError: System check identified some issues:

ERRORS:
stu.chan.icon: (fields.E210) Cannot use ImageField because Pillow is not installed.
    HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install pillow".
stu.chan.image: (fields.E210) Cannot use ImageField because Pillow is not installed.
    HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install pillow".
stu.Piec.icon: (fields.E210) Cannot use ImageField because Pillow is not installed.
    HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install pillow".

...枕をインストールしなかったように。それで、インストールされたパッケージをチェックしました( this テクニックを使用)、およびPillow 2.4.0 ISインストールされています。

次に、強制再インストールも試みました:pip install --upgrade --force-reinstall Pillow==2.4.0

しかし、migrateを実行しているときに何もする必要はありません。

python 3.4.0にラップされたMac OS X 10.6.7でDjango 1.7.0virtualenv 1.11.6を使用しています。pipはpip 1.2.1にダウングレードされています-fully-resolved-nor-understood issue with pip and ssl)。

上記のコードはすべてvirtualenv内にあります(bin/activate完了)。

この問題の理由と解決方法について何か考えはありますか?

------編集------

上記のforce-reinstallコマンドを実行すると(非常に多くのコードが出力されるため、すべてを貼り付けることはできません)、「Successfully installed Pillow」で終了しますが、コードにいくつかの警告があります。

building 'PIL._imaging' extension
 (blabla code)
    _imaging.c:975:13: warning: array index of '1' indexes past the end of an array (that contains 1 elements) [-Warray-bounds]
        value = PyTuple_GET_ITEM(xy, 1);
                ^~~~~~~~~~~~~~~~~~~~~~~
    /usr/local/include/python3.4m/tupleobject.h:58:34: note: instantiated from:
    #define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i])
                                     ^
    /usr/local/include/python3.4m/tupleobject.h:27:5: note: array 'ob_item' declared here
        PyObject *ob_item[1];
        ^
    1 warning generated.

(blabla code)
   libImaging/Unpack.c:867:1: warning: unused function 'copy3' [-Wunused-function]
    copy3(UINT8* out, const UINT8* in, int pixels)
    ^
    1 warning generated.
13
lapin

私は試した :

  • いくつかの指示 here を使用して「Imaging-1.1.7」をコンパイルして、global PILを再インストールしますが、機能しませんでした
  • Pillowを再インストールすると、依存関係はグローバルに そのリンク を使用しますが、機能しませんでした
  • このリンク を使用してGCC4.2を再インストールしますが、機能しませんでした

私はようやく この投稿 へのすばらしい答えで説明されているケースにいることがわかりました。つまり、CPUが64ビットに対応しているが、カーネルファームウェアが32ビットに設定されているMacを実行しています。私が取り組んでいるプロジェクトは64ビット向けにビルドされているため、これは問題です。

その投稿 で説明されているように、インストーラー(DMG)を使用してpython3をインストールする場合、カーネルが32ビットに設定されていて、32ビットバージョンのpython 3をインストールしている場合、ただし、PythonのWebサイトからtarballソースをダウンロードして、次のようにインストールすると、

cd Python-3.4.1
./configure
make
Sudo make install

次に、64ビットバージョンのpython3をインストールします。次のようにして確認できます。

file /usr/local/bin/python3
/usr/local/bin/python3: Mach-O 64-bit executable x86_64

これで、64ビットバージョンのpython3を使用したvirtualenvのPIL/Pillowですべての問題がなくなりました。ピップの格下げでさえ不要になりました。

5
lapin

Python 3.6.4のMacでこの問題が発生していました。解決策は、Pillow 5.1.0をアンインストールして、代わりに5.0.0をインストールすることでした。

pip uninstall Pillow
pip install Pillow==5.0.0
21
PatrickReagan

同様の問題があり、私の解決策ははるかに簡単でした:

どうやらパッケージPILと枕は共存できません。 Pillowを使用する場合は、最初にPILをアンインストールしてからPillowをインストールする必要があります

Macを使用している場合は、brewを使用していくつかのライブラリをインストールする必要があります。以下は一連のステップです。

$pip uninstall PIL
$brew install libtiff libjpeg webp little-cms2
$pip install Pillow

枕がインストールされ、使用できる状態かどうかをテストするには、pythonインタープリターを開き、以下をインポートしてみます。

>>> from PIL import Image

*ライブラリにはまだPILと表示されていますが、PILではなくPillowからインポートされています。

正常にインポートできる場合は、準備完了です(おそらく、PYTHONPATHまたは32/64ビットインストールの設定について心配する必要はありません)。

ソース: https://pillow.readthedocs.io/en/latest/installation.html

1
The Wanderer

PyCharmのデバッガーを使用してこのエラーが発生しました。 [設定]-> [プロジェクトインタープリター]に移動して[枕]を強調表示し、右側の上向き矢印をクリックしてアップグレードする必要がありました。その後、エラーは消えました。

1
slashdottir

CLoudinaryを使用して画像のアップロードを実装しているときにも同じ問題が発生しましたが、上記の答えは見つかりましたが、他の方法で見つかりました。

 Sudo pip uninstall PIL

 Sudo pip uninstall Pillow

 Sudo pip install Pillow

その後私の問題は解決しました!

1
MD Shahrouq

macOS High Sierra 10.13.6私の解決策は

pip3 install Pillow

ない

pip install Pillow
0
Nick Patsiuk

Python 3.6.0でPillow 4.1.0を使用している場合は、Pythonバージョンをアップグレードすると、この問題が修正されます。解決策はこちら: https://github.com/python-pillow/Pillow/issues/2479#issuecomment-292252147

0
Parth Karia

Python3の場合は、$PYTHONPATHにはvirtualenvパスがあり、コマンドを実行する代わりに

python manage.py migrate

実行:

python3 manage.py migrate

私にとってうまくいったのは、Pillowをユーザーフォルダーからアンインストールし、Sudoを使用してインストールすることでした。

最初のインストールは:

$ pip3 install Pillow --user

インストール先:~/.local/lib/python3.7/site-packages/Pillow-7.0.0.dist-info

そのため、まずアンインストールしてから、Sudoを使用してインストールしました。

$ pip3 uninstall Pillow
$ Sudo pip3 install Pillow

新しい場所: /usr/local/lib64/python3.7/site-packages/Pillow-7.0.0.dist-infoと問題が修正されました。

0
Don Grem

Pillowがインストールされているにもかかわらず、仮想環境で同じ問題が発生しました。また、古いバージョンをインストールしても問題は解決しませんでした。すぐに仮想環境を離れると、うまくいきました。多分これは誰かを助けています。

コマンドがあります:

    (wb_env) C:\Users\Taranis\Dropbox\08_Coding\Python 
    Coding\Programme\Projekt_Webblog\tim_webblog>python manage.py makemigrations app_webblog

エラー:

    SystemCheckError: System check identified some issues:

    ERRORS:
    app_webblog.BlogEntry.entry_img: (fields.E210) Cannot use ImageField because 
    Pillow is not installed.
    HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "pip install 
    Pillow".
0
Taranis