がべーじこれくしょん

技術系とかいろいろ

Python3(Anaconda)をDockerコンテナとして入れたUbuntu上で使う

実行環境

OS: MacOSX 10.12.2 Sierra

作業コンテナ: Ubuntu 16.04 LTS ( on Docker Version 1.12.5 (14777))

おしゃべりbotを作ろうとして、Python3やらMeCabやらを入れようとしたらMacの場合エラーが大量にでて困り果ててしまいました。

Dockerの操作になれるという意味でもいい機会なので、Dockerコンテナ上で環境構築してみます。

Ubuntu 16.04のDockerコンテナをDockerHubから入手

# docker pull ubuntu:latest
# docker run --name ubuntu -i -t ubuntu:latest
# docker exec -it ubuntu /bin/bash

これでコンテナのシェルに入れます。

pyenv + Anaconda版Python3をインストール

DockerコンテナとしてpullしてきたUbuntuは基本的なコマンド以外ほとんどインストールされていないので、必要なものだけ途中で適宜インストールしていきます。

# apt-get update
# apt-get install git aria2 curl wget bzip2
# git clone https://github.com/yyuu/pyenv.git ~/.pyenv
# echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
# echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
# echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# source ~/.bashrc

aria2, curl, wgetは最低限pyenvでpythonをインストールするのに必要なものです。curlwgetはいずれかが入っていれば大丈夫です。

Anaconda版Python3インストール

Anacondaとは、Pythonの環境設定と、Pythonによるプログラミングにおいて比較的使われるモジュール(ライブラリ)等を一気にインストールしてくれるものです。

Continuum Analytics 社 が提供している Python と conda というパッケージマネージャーを含む Python ディストリビューションです。 qiita.com

公式のPythonでは、多くの場合環境設定で詰みます。そのため、特別なことがない限りはPyenv+Anacondaによるインストールをおすすめします。

# pyenv install -l | grep ana
  anaconda-1.4.0
  anaconda-1.5.0
  anaconda-1.5.1
...
  anaconda2-4.0.0
  anaconda2-4.1.0
  anaconda2-4.1.1
  anaconda2-4.2.0
...
  anaconda3-2.5.0
  anaconda3-4.0.0
  anaconda3-4.1.0
  anaconda3-4.1.1
  anaconda3-4.2.0
# pyenv install anaconda3-4.2.0
# pyenv global anaconda3-4.2.0
# pyenv rehash

基本的にPython3を入れておけば間違いありません。ライブラリの多くが未だに2系に依存してはいますが、今後のことを考えると3系で開発することをおすすめします。

参考サイト

qiita.com