Welcome to Mashykom WebSite


Ubuntu 20.04LTSでのPython環境構築


 Ubuntuは、できる限り多くの言語に対応すべく国際化が進められており、もちろん日本語での利用も可能です。 Ubuntu Japanese Teamが、Ubuntu日本語サポートをより良いものとする活動を進めています。Japanese Teamでは、現在のところUbuntuに追加できていない修正を加えたパッケージ、および日本語環境に必要とされるパッケージを収録したRemixイメージを作成・配布しています。このJapanese Teamのパッケージを含むイメージを、オリジナルのUbuntuと区別するために「日本語 Remix」と呼んでいます。このページでは、Ubuntuの日本語Remix版をインストールします。

 Ubuntu にはインストール時に Python もインストールされていて、このPythonのバージョンが古いことが多い。最新バージョンのPythonを利用するためには、このシステムPythonと異なるPythonをインストールする必要に迫られる。Ubuntuだけでなく、MacOSでも同様の問題に直面します。

 Python を使って開発を行うときは、用途に応じて専用の実行環境を作成し、切り替えて使用するのが一般的です。こういった、一時的に作成する実行環境を、「仮想環境」 と言います。pythonの仮想環境を作成するツールとして、pythonモジュールにvenv がありますが、ここでは使用しません。pyenv を使用します。pyenvは「一つのマシンに複数のバージョンのpythonをインストールしてそれを切り替えて使える仕組み」を提供します。例えば、新しいプロジェクトでは最新の3.8.8を使うけど、メンテナンスモードに入っている古いプロジェクトでは 3.7を使わなければならない時に、一々Pythonをインストールし直していたら面倒です。この時、pyenvを使えば複数のバージョンのPythonをインストールできて、それを切り替えて使うことができます。

 このページでは、Ubutnu 20.04LTS に、pyenv を用いたPython 環境を作成する手順を説明します。作成された仮想環境下に、Python APIのTensorFlow 及び PyTorch インストールする方法を説明します。


Last updated: 2021.4.5(first uploaded)


Ubuntu 20.04LTSのインストール


 ubuntu-ja-20.04.1-desktop-amd64.iso(ISOイメージ)をPCにダウンロードして、それをUSBメモリにコピーします。このUbuntu用のイメージファイルをUbuntu の日本語版ダウンロードサイトからダウンロードする。KDDI研究所のポート、http://ftp.kddilabs.jp/Linux/packages/ubuntu-jp/release-cd/releases/20.04/ からダウンロードしました。一般的なPCにインストールする場合は、「ubuntu-20.04-desktop-amd64.iso」をダウンロードしてください。

 VirtualBoxにインストールするならダウンロードしたISOファイルがそのまま使えますが、PCにインストールする場合はISOイメージファイルをUSBメモリなどに書き込む必要があります。ISOイメージを書き込んだUSBは「ライブUSB」とも呼ばれます。これらをPCにセットして電源を入れることで、インストールすることなくUbuntu 20.04 LTSのデスクトップを試したり、内蔵ストレージにインストールしたりできます。

 ライブUSBをPCのUSBポートに接続して、電源を入れます。PCによっては、「F2」や「Del」などのキーを押してBIOSあるいはUEFIの設定画面を出し、USBメモリから起動するよう設定する必要があります。Macでは、起動時に「option」キーを押して、起動デバイスを選択します。

 ライブUSBからの起動時に、ファイルが壊れていないかのチェックが自動実行されるようになっています。30分程度の時間がかかります。起動が完了すると、インストール画面が表示されます。

ubuntu-20-04.png

 左側の言語リストをスクロールダウンし、「日本語」をクリックしてください。そうすると、画面が日本語での表示に変わります。PCにインストールするときは、「ubuntuをインストール」をクリックします。画面の指示に従って進みまう。キーボードの選択はJapanese(PC-98)を選んだ方がベターでしょう。後で変更することはできます。

インストールは1時間程度かかります。気長に待ちましょう。インストールが終了すると、再起動することが要求されます。再起動すると、以下のようなメッセージが表示された場合は、USBメモリを抜いて、Enterキーを押してください。
「please remove the installation medium, then press ENTERR」

 ログイン画面が出て、コマンド入力を要求する状態のプロンプトが表示されます。ログインに成功すると、Ubuntuのデスクトップが表示されます。最初に「オンラインアカウントへの接続」ページが表示されます。アカウントを登録したい各項目をクリックして設定することで、Ubuntuから各オンラインサービスを利用できるようになります。右上の「スキップ」を押して次のページに進むことができます。なお、オンラインサービスへの接続や接続解除は設定アプリでいつでも設定できます。

 Ubuntu 20.04 LTSのインストール直後に実行した方がいい手順についての説明は、このサイトにありますので、参考にしてください。日本語入力をオンにするには、画面右上に「ja」が表示されているかを確認して、「ja」をクリックして、「日本語 (Mozc)」を選びましょう。入力方式を「ひらがな」とすると、日本語が入力できます。英語に戻するときは、反対に、「ja」をクリックします。

 簡単なエディターをインストールしましょう。


$ sudo apt-get install gedit nano 

 geditはとてもシンプルで操作が分かりやすいエディターです。


PyenvによるPython環境の構築


 この項目は、以下のサイトの解説を参考にしています。
https://github.com/pyenv/pyenv

pyenvは,システムPython とは別の Python をインストールするのに便利なツールです。pyenv をインストールし、pyenv の配下に Python 3.8.8をインストールします。

 最初に、その準備として、Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行します。実行後、再起動します。


sudo apt update
sudo apt upgrade
sudo reboot

 既にインストールされている pyenv を消去しておきます。


rm -rf ~/.pyenv

 pyenv のダウンロードと更新をします。仮想環境を ~/.pyenv 以下に作成します。


git clone https://github.com/pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv
git pull

 git pull はpyenvのアップデートをするためです。名称 pyenv は任意ですが、通常、この通りにします。

 pyenv がインストールできたら、その設定をします。bashrcファイルに以下のパス設定を追加します。


echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bashrc
echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.bashrc
echo '    export PATH=${PYENV_ROOT}/bin:$PATH' >> ~/.bashrc
echo 'fi' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc
exec $SHELL -l
source ~/.bashrc

この結果、bashrc ファイルは以下の部分が追加されています。


export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
   export PATH="${PYENV_ROOT}/bin:$PATH" 
fi
if command -v pyenv 1>/dev/null 2>&1;then
   eval "$(pyenv init -)"
fi

 もう少し単純なパスの設定は以下のようになります。どちらの修正を採用するかは好みによります。


echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

 Pythonをインストール前に関係するライブラリのインストールをしておきます。


sudo apt -y install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

 pyenv を使用して、システム Python とは別に Python 3.8.8 をインストールします。新しく端末を開いて、 システム python のバージョンを確認してみる。


which python3
python3 --version 

インストールできる Python 3.8 のバージョンの確認


pyenv install -l | grep 3.8

 Python 3.8.8 をインストールします。


pyenv install 3.8.8

 Python のパッケージがインストールされる。仮想環境 3.8.8 にpip, setuptools もインストールします。pyenv shell 3.8.8 コマンドで仮想環境3.8.8に切り替えます。


pyenv shell 3.8.8
python -m pip install -U pip setuptools

 Python 環境の切り替えは次のようなコマンドで行います。


pyenv shell system (システムPythonに切り替え)


pyenv shell 3.8.8  # または, pyenv global 3.8.8 (.pyenvのPython 3.8.8 に切り替え)


デフォルトで pyenv 環境下の Python 3.8.8 を使いたいときは, 次のように設定する


echo 'pyenv shell 3.8.8' >> ~/.bashrc
exec $SHELL -l

 試しに Python 3.8.8 を起動してみよう。


pyenv shell 3.8.8
python --version
python

>>print(1 + 2)
>>exit()

 pyenv の確認をするために、新しく端末を開く。~/.pyenv/versions ディレクトリを見てみましょう。


ls ~/.pyenv/versions

pyenv shell 3.8.8
which pip
pip list

pip と setuptools の更新


pyenv shell 3.8.8
python -m pip install -U pip setuptools

Python 開発環境(JupyterLab, notebook, spyder)のインストール


pyenv shell 3.8.8
python -m pip install -U jupyterlab jupyter jupyter-console  notebook  spyder

 JupyterLab の起動は,


pyenv shell 3.8.8; jupyter lab

Jupyter notebook の起動は,


pyenv shell 3.8.8; jupyter notebook

とします。

 なお、pyenv で Anaconda をインストールすることもできます。以下のようにします。


pyenv install -l
(〜中略〜)
 anaconda3-5.3.1

pyenv install anaconda3-5.3.1

Anaconadのインストールバージョンを確認します。


pyenv versions

  anaconda3-5.3.1

 こうして、Anaconda環境下での仮想環境を作成することができます。


TensorFlow 及び PyTorch のインストール


TensorFlow 2.4.1,Keras 2.4.3,MatplotLib, Python 用 opencv-python のインストールをします。最初に、「pyenv shell 」を次のように実行する。


pyenv shell 3.8.8

トラブルの可能性を減らすために,次の操作でアンインストールを行っておく。


python -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow_datasets tensorflow-hub keras

TensorFlow 2.3,Keras 2.4.3,MatplotLib, Python 用 opencv-python のインストールを行います。以下のコードをターミナルからうってください。


python -m pip install -U pip setuptools
sudo apt -y install libopencv-dev libopencv-core-dev python3-opencv

python -m pip install -U tensorflow tensorflow_datasets tensorflow-hub 
python -m pip install numpy scipy pillow pydot matplotlib seaborn scikit-learn scikit-image keras pandas opencv-python

python -m pip install git+https://github.com/tensorflow/docs
python -m pip install git+https://github.com/tensorflow/examples.git

 Python の numpy がインストールできたことの確認をしてみましょう。


python -c "import numpy; print( numpy.__version__ )"

 TensorFlow のバージョン確認をします。


python -c "import tensorflow as tf; print( tf.__version__ )"

 次に、Keras のバージョン確認もします。


python -c "import keras; print( keras.__version__ )"

 次に、PyTorch のインストールをしましょう。


python -m pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

 GPUのtoolkitがCUDA 11.1の時は


pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

 インストールの確認をしておきましょう。

python

>>import torch
>>x = torch.rand(5, 3)
>>print(x)


最新バージョンのCMake (CMake-3.20.0)のインストール


 Ubuntu版 CMake はバージョンが古いので、時々トラブルになります。最新バージョンのCMake (CMake-3.20.0)のインストール方法について説明します。必要なモジュールをインストールします。

$ sudo apt-get install build-essential libssl-dev

 CMakeのソースコードをダウンロードします。ダウンロードしたtar.gzファイルを解凍展開します。


$ wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz

$ tar -zxvf cmake-3.20.0.tar.gz

展開されたフォルダーに移動して、ソースコードをコンパイルして、インストールします。


$ cd cmake-3.20.0

$ ./bootstrap

 bootstrap 過程は 10分程度かかります。 CMake がブートストラップされた時、makeコマンドを入力します。これも10分以上かかります。


$ make

$ sudo make install

$ cmake --version

 CMake 3.20.0 がUbuntuに正常にインストールされました。


このページの先頭に戻る

Pythonの機械学習用のライブラリ:Scikit-Learn

ホームに戻る