CentOS6にpipコマンドでPillowをインストールする
2016/07/17 19:29
  • はじめに

    Djangoアプリケーションで画像のアップロード機能を付けたいなと思い、models.pyを以下のように
    変更したらmigrateが走らなくなったのでその時の対応メモ。

    models.pyの指定

    以下のようにモデルを定義
    class photo(models.Model):
        ...
        picture_path = models.ImageField(upload_to='photo', default=False)
        ...
    

    ERRORS:
    Cannot use ImageField because Pillow is not installed.
        HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install Pillow".
    

    とまぁ、ImageField使う場合はPillowも入れてねっていうことだったので入れてみる。

    Pillowのインストール(失敗編)

    さっそく言われるがままにインストール。
    $ pip install Pillow
    Collecting Pillow
     Using cached Pillow-3.2.0.zip
    Installing collected packages: Pillow
     Running setup.py install for Pillow ... error
    ... #中略...
    ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting
    
    Command "/xxx/xxx/.pyenv/versions/3.5.1/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-v4lmuu4f/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-3w6vmrl1-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-v4lmuu4f/Pillow/
    

    ふむ。なんかjpeg絡みのライブラリが入ってないから落ちてるっぽい。

    libjpeg-develのインストール

    このへんとか調べてると、どうやらlibjpeg-develなるものがあるらしいので
    それを試しにインストールしてみる。

    $ sudo yum install libjpeg-devel                                                                        
    Loaded plugins: fastestmirror, security
    Setting up Install Process
    Loading mirror speeds from cached hostfile
    * base: ftp.tsukuba.wide.ad.jp
    * epel: ftp.tsukuba.wide.ad.jp
    * extras: ftp.tsukuba.wide.ad.jp
    * updates: ftp.tsukuba.wide.ad.jp
    
    Resolving Dependencies
    --> Running transaction check
    ---> Package libjpeg-turbo-devel.x86_64 0:1.2.1-3.el6_5 will be installed
    --> Finished Dependency Resolution
    ...
    ...
    ...
    Installed:
    
     libjpeg-turbo-devel.x86_64 0:1.2.1-3.el6_5                                                                                                                                                  
    
    Complete!
    

    さくっと入った。続いてPillowが入るか改めてチェック

    Pillowをインストール(成功編)

    libjpegが入ったので、以下を試してみます。
    $ pip install Pillow
    Collecting Pillow
     Using cached Pillow-3.2.0.zip
    Installing collected packages: Pillow...
    ...
    ...
    Successfully installed Pillow-3.2.0
    

    無事に成功しました。

    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • <2016/06/06 09:59>
  • Python
  • pillowpythonlibjpegImageField
  • 新しい記事へ
    DjangoアプリケーションをApache上で本番環境として動かす方法

    古い記事へ
    コードのシンタックスハイライトにhighlight.jsを使った時の話

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。