はじめに
Anacondaをインストールせずにデータ分析・機械学習の環境を構築する手順について解説します。
前提条件ついて
本記事では、
- venvを用いて仮想環境を構築する
- 深層学習で主に使用されるパッケージはインストールしない
- スクレイピング、自然言語処理、画像処理等で使用されるパッケージはインストールしない
という前提で手順を記載しています。
手順の中でも触れていますが、他にインストールしたいパッケージがあれば個別にインストールしてください。
動作確認している環境について
また、本動作を確認している環境は、
- Ubuntu 20.04
- Python 3.9.1 (Pyenvでインストール)
ですが、
- 特定のOSに依存した操作は行っていませんので、Windows、macOS、LinuxいずれのOSでも構築可能
- パッケージでインストールしたPythonでも同様の手順で構築可能
です。
ただし、python
とpip
はご使用の環境によってコマンド名が違う場合があるので、環境に合わせて読み替えてください(pip
ではなくpip3
になっている、など)
構築手順
1. 仮想環境をインストールするディレクトリを作成する
仮想環境を使って独立したPython環境を作成し、そこに必要なパッケージをインストールします。
まずは仮想環境を作成するディレクトリを作成します。ここではディレクトリ名をjupyter
にしていますが、少なディレクトリに好きな名前で作成してください。
$ cd /path/to
$ mkdir jupyter
$ cd jupyter
2. 仮想環境をインストールする
作成したディレクトリにVirtualenvで仮想環境を作成します。ここではvenv
という名前(2つあるvenv
のうちの後ろの方)で仮想環境を作成していますが、好きな名前で作成してください。
$ python3 -m venv venv
$ ls
venv
次に、仮想環境を有効化します。先ほど作成した仮想環境の名前をvenv
以外の名前にしている方は以下のコマンドのvenv
の部分を作成した名前に変更してください。
$ source venv/bin/activate
これ以降、仮想環境を有効化している状態で操作しています。違いがわかるようにプロンプトを$
から(venv) $
に変えています。
3. 仮想環境を最新化する(pip、setuptools)
(venv) $ python -V
Python 3.9.1
(venv) $ pip -V
pip 20.2.3 from /home/xxx/jupyter/venv/lib/python3.9/site-packages/pip (python 3.9)
パッケージをインストールする前にpip
とsetuptools
を最新バージョンにアップグレードします。
(venv) $ pip install --upgrade pip setuptools
念のため、pip
のバージョンを再確認します。
(venv) $ pip -V
pip 21.0.1 from /home/xxx/jupyter/venv/lib/python3.9/site-packages/pip (python 3.9)
pip
のバージョンが20.2.3
から21.0.1
にバージョンが上がっています(使用してるPythonのバージョン、作業時期によってバージョンアップの有無、バージョンアップ後のバージョンは変わります)。
4. データ分析・機械学習に必要なパッケージをインストールする
では、機械学習に必要なパッケージをインストールします。
ここではデータ分析、機械学習に最低限必要そうなパッケージのみをインストールしています。他に使いたいパッケージがあれば別途インストールしてください。
(venv) $ pip install ipython numpy pandas matplotlib seaborn scikit-learn jupyterlab
インストール時に出力されているログを見てインストールに成功していることを確認してください。
これでこのディレクトリがデータ分析・機械学習を行う環境になります。
5. JupyterLabを起動する
では、JupyterLabを起動してみます。
(venv) $ jupyter lab
ブラウザにJupyterLabが表示されれば正しく構築できています。
今後、データ分析・機械学習を行うときは、このディレクトリに移動して有効化後にJupyterLabを起動してください。
$ cd /path/to/jupyter
$ source venv/bin/activate
(venv) $ jupyter lab
(おまけ)仮想環境から抜ける方法
作業後にターミナルを閉じているならあまり必要ありませんが、仮想環境から抜ける方法についても紹介しておきます。
(実用上忘れていても問題なることは殆どないので神経質になる必要ありません)
(venv) $ deactivate
$
最後に
PyenvでAnacondaをインストールしていたのですが、どうやらcurlコマンド等がAnacondaでインストールした方を参照してしまい、Anaconda以外に切り替えたときにcurlコマンド等が使えなくなるという事象に陥りました。
修正しているような記事も見かけましたが、実際には修正されていなかったので、Anacondaを使わずに環境構築する方法を検討しました。
ただし、Anacondaをパッケージでインストールすれば、system
を選択することで使用可能になるので、どちらかというとすべてのPythonをPyenvで管理したい、という方やAnacondaを使いたくない(有償版を使わないといけない、などの理由から)方向けの記事になります。