Python3x で 機械学習環境 を作る

Python とは、機械学習に特化した プログラミング言語 である。他のプログラミング言語に比べ構文が少ない、記述性が高い(一行の記述で多くの処理が可能)、標準ライブラリが充実(pythonに付随するライブラリ)、外部ライブラリへの便宜(インポートにより使用できるライブラリ)などの利便性により、初学者でも扱いやすいプログラミング言語である。ご多分に漏れずこのサイトでも Python を使用する。

なお、Python3x の 3x はバージョン名を表す(Python3.7.13 とか Python3.10.2 とか)。

pyenv で Anaconda をインストールする

機械学習を学習するにあたり、Pythonとその標準ライブラリのみでプログラミングを組んでいくのは膨大な時間と労苦を要するので外部ライブラリの Anaconda を使用する。

Anaconda は数学、科学技術、データの分析や解析(データーサイエンス)など、機械学習はもとよりAI(人工知能)、ディープラーニング(深層学習)の開発に必要なライブラリを備えたPythonのプラットホーム(環境)であるフリー(無料)のディストリビューション(配布パッケージ)である。

Anacondaの公式サイト からダウンロードしインストールできるが、ここではPythonおよび外部ライブラリのバージョン一覧リストを考慮して pyenv で Anaconda をインストールする。

このコンテンツは使用環境のOSに UBUNTU を対象としている。pyenv はPythonの実行環境を管理するツール(プログラム)である。

pyenv をインストールする

ショートカットキー 「Ctrl」+「Alt」+「T」キー で端末(ターミナル)を開く。

まずは phyton環境 を構築するために必要なパッケージをインストールする。

~$ sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config

次に、 pyenvのインストールの事前準備として依存パッケージをインストールする。

~$ 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

git(ファイルのバージョン管理システム) をインストール

~$ sudo apt install -y git

gitからリポジトリ(pyenvフォルダとそのファイルの作成、更新履歴の記録を保管)を .pyenvフォルダにクローン(コピー)する。

~$ cd /tmp
~$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

まぁ、システム更新もしているので、以下の入力は必要なかろう。Already up to date.が返ってくるだろう。

~$ cd ~/.pyenv
~$ git pull

~/.bashrc(ファイル) に path を通す。

~$ echo ‘export PYENV_ROOT=”${HOME}/.pyenv”‘ >> ~/.bashrc
~$ echo ‘if [ -d “${PYENV_ROOT}” ]; then’ >> ~/.bashrc
~$ echo ‘ export PATH=${PYENV_ROOT}/bin:$PATH’ >> ~/.bashrc
~$ echo ‘ eval “$(pyenv init -)”‘ >> ~/.bashrc
~$ echo ‘fi’ >> ~/.bashrc

なお、コピペの際、クオート、ダブルクオート\((\textsf{‘, “})\)は書き換えてほしい。command not found のエラーが出るので。

.bashrc に書き込んだpathを有効化(反映)する。これを忘れずに !

~$ source ~/.bashrc

または、

~$ exec $SHELL -l

PATHの確認。

~$ pyenv -v
pyenv 2.2.3-7-g39f1b141  #バージョンは例

パッケージの一覧。

~$ pyenv install -l
Available versions:
 #以下に Anaconda の各バージョンが格納されている。

以上で pyenv のインストールは完了した。

Anaconda をインストール

さて、Anaconda をインストールしよう。まずは pyenv のアップデートから。

~$ pyenv update
pyenv: no such command `update’

エラーが出てしまったら git へ pyenv-update のプラグイン を入れる。

~$ git clone https://github.com/pyenv/pyenv-update.git $(pyenv root)/plugins/pyenv-update

で、

~$ pyenv update

インストールできる Anaconda のバージョン一覧を表示。

~$ pyenv install -l | grep anaconda
anaconda-1.4.0

anaconda-1.5.0
anaconda-1.5.1
anaconda-1.6.0
anaconda-1.6.1
# 省略
anaconda2-2.5.0
anaconda2-4.0.0
# 省略
anaconda3-2.4.1
anaconda3-2.5.0
# 省略
anaconda3-4.4.0
anaconda3-5.0.0
anaconda3-5.0.1
anaconda3-5.1.0
anaconda3-5.2.0
anaconda3-5.3.0
anaconda3-5.3.1
anaconda3-2018.12
# 省略

今回は anaconda3-5.3.1 をインストールしてみる。

~$ pyenv install anaconda3-5.3.1

インストールが完了したら ~/.bashrc に Path を通す。

~$ echo ‘export PATH=”$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH”‘ >> ~/.bashrc
~$ source ~/.bashrc

カレントディレクトリを /tmp ではなく、/home でgitからリポジトリを .pyenvフォルダにクローンし、.bashrc を有効化すると、端末のユーザー名の前にデフォルトのタブが表示されてしまう。。以下、その対処をする。

(base)~$ conda deactivate

conda diactivate のコマンドで Conda環境 が解除される。

タグが表示されない場合、

~$ conda activate

と入力する。その際

CommandNotFoundError: Your shell has not been properly configured to use ‘conda
activate’.
If using ‘conda activate’ from a batch script, change your
invocation to ‘CALL conda.bat activate’.
To initialize your shell, run
$ conda init
Currently supported shells are:
– bash
– cmd.exe
– fish
– tcsh
– xonsh
– zsh
– powershell
See ‘conda init –help’ for more information and options.
IMPORTANT: You may need to close and restart your shell after running ‘conda init’.

というエラーが出たら

~$ conda init bash

と入力。それで

~$ conda activate

と入力するとタグが表示される。先ほどのコマンドでタグが非表示(Conda環境の解除)になる。

~$

なお、OSを起動すると自動的にConda環境が有効化されて端末にタグが入るが、これを無効にするには

~$ conda config –set auto_activate_base false

と入力し再起動する。ここまでが タグの対処となる。

さて、端末を開いてインストールした anaconda3-5.3.1 をアップデートしよう。

(base)~$ conda update conda
Collecting package metadata (current_repodata.json): done
Solving environment: done
# 省略
   ~Proceed ([y]/n)?   # 「y」キー を押して「Enter」キー を押す。
# 省略

これで Python仮想環境 で Anaconda が使える。お疲れ様。

PAGE TOP
タイトルとURLをコピーしました