はじめに
- djangoでファイル添付つきのフォームを作成するためにpillowをインストールしようとしたらエラーがでたので、調べてみた。 pillow.readthedocs.io
エラーの内容
- jpeg関連のライブラリが見つからないとエラーが出ていた。
The headers or library files could not be found for jpeg, a required dependency when compiling Pillow from source.
(参考URL) github.com
alpine ライブラリインストール
- 下記の公式サイトに必要なライブラリが記載されているが、自分の環境では下記の3つのライブラリだけインストールした。
apk add jpeg-dev zlib-dev openjpeg-dev
pillowをインストール
- インストールすることができた
pip install pillow
Dockerfile
FROM alpine:latest RUN apk update RUN apk add --no-cache git bash build-base libffi-dev openssl-dev bzip2-dev zlib-dev readline-dev sqlite-dev ENV ENV="/root/.ashrc" RUN git clone https://github.com/pyenv/pyenv.git ~/.pyenv ## dockerのコンテナログイン時にpyenvコマンドを実行するためにパスを設定しておく RUN echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.ashrc RUN echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.ashrc RUN /root/.pyenv/bin/pyenv install 3.8.4 RUN echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.ashrc RUN /root/.pyenv/bin/pyenv global 3.8.4 RUN /root/.pyenv/versions/3.8.4/bin/pip install django RUN /root/.pyenv/versions/3.8.4/bin/pip install djangorestframework RUN /root/.pyenv/versions/3.8.4/bin/pip install django-filter RUN /root/.pyenv/versions/3.8.4/bin/pip install pylint-django RUN apk add mysql-dev RUN /root/.pyenv/versions/3.8.4/bin/pip install mysqlclient RUN /root/.pyenv/versions/3.8.4/bin/pip install graphene-django RUN /root/.pyenv/versions/3.8.4/bin/pip install graphene RUN /root/.pyenv/versions/3.8.4/bin/pip install -U pip RUN apk add jpeg-dev zlib-dev openjpeg-dev RUN /root/.pyenv/versions/3.8.4/bin/pip install pillow