2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntuでお手軽に機械学習(Python)の環境構築

Last updated at Posted at 2020-08-10

はじめに

何番煎じかはわかりませんが、Ubuntuに新規で機械学習(Python)環境を構築した際のメモを残します。
システム(Ubuntu)にプリインストールされているPythonを用いて、最小限のインストールでお手軽に環境構築したい方向けです。
環境:Ubuntu 20.04 LTS

Python, pip, venvのインストール

Ubuntu 20.04 LTSの通常ディストリビューションであれば、Python3はプリインストールされているはずです。
念のため、ターミナルに以下を入力し、確認しておきます。

ターミナル
python3 -V               
Python 3.8.2

# インストールされていない場合
sudo apt install python3

次に、各種ライブラリのインストールに必要となるpipをインストールします。

ターミナル
sudo apt install python3-pip

# インストールの確認
pip3 --version

システムで使用しているPythonにライブラリを直でインストールすることは、最悪システムを壊してしまうこともあり、おすすめできません。
そこで、仮想環境を構築し、ライブラリのインストールがシステムの依存環境などに影響を与えないようにします。
UbuntuプリインストールのPythonでvenvを使用するには下記インストールが必要になります。

ターミナル
sudo apt install python3-venv

仮想環境の作成と有効化

ライブラリをインストールする前に仮想環境を作成しておきます。

ターミナル
# ホームディレクトリ内.venvフォルダにMLという仮想環境を作成
python3 -m venv .venv/ML

下記を実行し、作成した仮想環境を有効化します。

ターミナル
cd .venv/ML
source bin/activate

# 無効化する際は下記を実行
deactivate

ライブラリのインストール

仮想環境内にライブラリをインストールしていきます。
下記はscikit-learn, matplotlib, pandasを一括でインストールする例です。

ターミナル
pip3 install -U scikit-learn ,matplotlib, pandas

※Matplotlibでプロットの表示plt.show()をした際に下記のようなエラーが出る場合があります。

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

Python上でUIの描画に必要なTkinterがインストールされていないためです。
合わせてインストールしておくといいです。

ターミナル
sudo apt install python3-tk

以上で環境構築は終了です。

追記

VSCodeでコーディングする場合は、先ほど作成した仮想環境をデフォルトのインタプリタに設定しておくと便利です。
Settings.jsonに下記を追加しておくと、自動的に仮想環境を有効化してプログラムを実行してくれます。

Settings.json
"python.defaultInterpreterPath": "/home/$USERNAME/.venv/ML/bin/python3",
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?