docker環境にPythonの実行環境を用意する
Macでgensimが読み込めないエラーが発生していた件で、問題の切り分けのためにDockerを使ってPythonの実行環境を作成してそこで色々試してみた話 結局、ライブラリを最新版より1つ古いものを使うようにすれば良いという結果になったけどクリーンな環境をサクッと用意できるのはDockerのメリットだなーと実感した。
参考にした、というよりほぼこちらの内容のまま(ありがとうございます) qiita.com
Dockerfile
FROM python:3 USER root RUN apt-get update RUN apt-get -y install locales && \ localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 ENV LANG ja_JP.UTF-8 ENV LANGUAGE ja_JP:ja ENV LC_ALL ja_JP.UTF-8 ENV TZ JST-9 ENV TERM xterm RUN apt-get install -y vim less RUN pip install --upgrade pip RUN pip install --upgrade setuptools
docker-compose.yml
version: '3' services: python3: restart: always build: . container_name: 'python3' working_dir: '/root/' tty: true volumes: - ./:/root/
Dockerfileとdocker-compose.ymlがあるディレクトリで以下のコマンドを実行
$ docker-compose up -d --build $ docker exec -it python3 bash
コンテナの中に入る。
試したかったのはgensim
なのでこれだけインストール
$ python -m pip install gensim # 実際は $ python -m pip install gensim==3.5.0
Dockerfileに含めておきたいときはこんな感じ
RUN pip install --no-cache-dir gensim==3.5.0
--no-cache-dir
オプションがないとValueError: numpy.ufunc has the wrong size, try recompiling. Expected 192, got 216
のエラーが出る