2018年07月17日

仮想環境管理ツール「Anaconda」を導入する

「TensorFlow」や「PyTorch」などの機械学習フレームワークを動かすにあたって、Pythonのバージョンなどにおうじて仮想環境を構築し、それぞれの仮想環境内部で各種設定をおこなうのが一般的です。
hatakazuもこの方法を使っていますが、その理由は単純に「よくわからないでいじっているのでかならず問題が発生するが、そうしたときに仮想環境ごと削除してあらたな仮想環境を構築しなおすことで、かんたんにやりなおすことができるから」です。
仮想環境の管理によく使われるのは、「Virtualenv」と「Anaconda」だと思います。

Virtualenv: プロジェクトページGitHubレポジトリ
Anaconda: ホームページダウンロードページANACONDA CLOUD

これら(とくに「Anaconda」)を「仮想環境管理ツール」と呼ぶのが正しいのかどうか、よくわからないところはありますが、とりあえずhatakazuにとって役にたつ部分(複数の仮想環境を構築してそれぞれ独立の環境設定で作業できるようにする機能)についてのみまとめておきます。
ここでは、「Ubuntu 18.04 LTS 日本語 Remix」上に「Anaconda」を導入し、仮想環境を管理する方法を記述します。

1. 前提となる環境
インストールするコンピュータの仕様は以下のとおり。

--
Dell Inspiron 14 7472 Core i7モデル 18Q42P
OS:Ubuntu 18.04 LTS 日本語 Remix
CPU:インテル Core i7-8550U (4Mキャッシュ、最大4.0GHz)
GPU:NVIDIA GeForce MX150 GDDR5 2GB
メモリー:8GB DDR4 2400MHz(最大16GB)
保存装置:128GB SSD (Windows10) + 1TB 5400rpm HDD (Ubuntu18.04)
--

2. 「Anaconda」インストールファイルのダウンロード
「Anaconda」をインストールするには、いくつかの方法がありますが、ここでは推奨されているバイナリからのインストールをおこないます。
「Anaconda」の最新バージョンは「5.2.0」です。
Home - Anaconda」から「Download」ボタンを押して「Downloads Anaconda」ページへすすみ、「「Python 3.6 version」用「64-Bit (x86) Linux Installer」」をクリックして、該当するインストールスクリプト「Anaconda3-5.2.0-Linux-x86_64.sh」をダウンロードします。

3. 「Anaconda」のインストール
ファイルをダウンロードしたディレクトリへ移動し、ダウンロードしたファイルに実行権限を付与したうえで、コマンドラインから実行します。
そのさい、「Installing on Linux」ページで推奨されているとおり、ユーザ環境へインストールするものとします。

$ chmod +x Anaconda3-5.2.0-Linux-x86_64.sh
$ bash ./Anaconda3-5.2.0-Linux-x86_64.sh


ライセンス条項への同意を求められるので、全文を表示してから「yes」と回答します。
インストール先は、ユーザ環境へインストールする場合は標準で「/home/username/anaconda3」になっているので、そのまま「Enter」キーを押します。
途中で「~/.bashrcにPATHを追加するかどうか」確認を求められるので、そこは確実に「No」と回答します。

Do you accept the license terms? [yes|no]
[no] >>> yes

Anaconda3 will now be installed into this location:
/home/username/anaconda3

- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below

[/home/username/anaconda3] >>>
PREFIX=/home/username/anaconda3
.....
installation finished.
Do you wish the installer to prepend the Anaconda3 install location
to PATH in your /home/username/.bashrc ? [yes|no]
[no] >>> no

You may wish to edit your .bashrc to prepend the Anaconda3 install location to PATH:

export PATH=/home/username/anaconda3/bin:$PATH

Thank you for installing Anaconda3!

===========================================================================

Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
>>> no


インストールが完了したら、「~/.bashrc」に以下の行を追加します。

. /home/username/anaconda3/etc/profile.d/conda.sh
かつては、「~/.bashrc」に「export PATH="/home/username/anaconda3/bin:$PATH"」行を追加し、ユーザログインにともなって自動的に「Anaconda」環境がシステム環境より優先されるようにしていました。
しかし現在ではほかの仮想環境を使うこともあり、ふつうは「Anaconda」環境は表に出てこない状態でログインし、必要におうじて「$ conda activate」「$ conda deactivate」コマンドでシステム環境と切りかえるほうが便利だ(そして混乱もすくない)と思います。


いったんターミナルを閉じてからあらためて開き(もしくは「$ source ~/.bashrc」コマンドを実行)、以下のコマンドを実行して、「ANACONDA NAVIGATOR」が正常に起動することを確認します。

$ conda activate
$ anaconda-navigator
$ conda deactivate


4. 「Anaconda」仮想環境の管理
「Anaconda」ベース環境を有効化するには、以下のコマンドを使います。

$ conda activate
(base) $ <- プロンプトに「(base)」と追加され、「Anaconda」の「base」環境にいることがわかる。


「Anaconda」ベース環境を無効化するには、以下のコマンドを使います。
(base) $ conda deactivate
$ <- プロンプトから「(base)」が消え、通常のシステム環境にもどったことがわかる。


あたらしく仮想環境「environment_name」を作成したい場合は、仮想環境の名前と同時に、使いたいPythonのバージョンを指定することができます。

$ conda create --name environment_name python=3.6


「anaconda」オプションをつけることで、現在の「Anaconda」ベース環境のパッケージをすべてインストールした状態で、仮想環境を作成できます。

$ conda create --name environment_name python=3.6 anaconda


作成した仮想環境を有効化する場合は、以下のコマンドを使います。

$ conda activate environment_name
(environment_name) $ <- プロンプトに「(environment_name)」と追加され、「Anaconda」の「environment_name」環境にいることがわかる。


現在の仮想環境にインストールされているパッケージのリスト表示。

(environment_name) $ conda list


現在の仮想環境の情報を表示する。

(environment_name) $ conda info


現在の仮想環境を無効化し、システム環境に戻る。

(environment_name) $ conda deactivate
$ <- プロンプトから「(environment_name)」が消え、通常のシステム環境にもどったことがわかる。


不要になった仮想環境を削除する。

$ conda remove --name environment_name --all


5. 「Anaconda」で使うコマンドの整理

「Anaconda」じたいのアップデート。
$ conda update conda

登録されている仮想環境のリストを見る。
$ conda info --envs

指定した仮想環境にインストールされているパッケージのリストを見る。
$ conda list --name environment_name

パッケージをインストールする。
$ conda install package_name

パッケージをアンインストールする。
$ conda remove package_name

指定したチャンネルのパッケージをインストールする。
$ conda install --channel channel_name package_name

指定したチャンネルのパッケージをアンインストールする。
$ conda remove --channel channel_name package_name

パッケージを検索する。
$ conda search package_name

指定したチャンネルのパッケージを検索する。
$ conda search --channel channel_name package_name


6. 「Anaconda」のアンインストール
アンインストール用のツール「anaconda-clean」を使って、「Anaconda」をアンインストールします。

$ conda install anaconda-clean
$ anaconda-clean


そのあとで、残ったディレクトリなどをきれいに消してしまえば、アンインストール作業は完了です。

$ rm -rf ~/anaconda3
$ rm -rf ~/.anaconda
$ rm -rf ~/.anaconda_backup


「~/.bashrc」に「export PATH="/home/username/anaconda3/bin:$PATH"」や「. /home/hatanaka/anaconda3/etc/profile.d/conda.sh」などの記述がある場合は、それも削除しておきます。


参考ウェブページ一覧表(順不同)

https://deepinsider.jp/tutor/prepareenv/gpuubuntu
https://docs.anaconda.com/anaconda/faq#how-do-i-get-the-latest-anaconda-with-python-3-5
https://docs.anaconda.com/anaconda/faq#distribution-faq-linux-path
https://www.digitalocean.com/community/tutorials/how-to-install-the-anaconda-python-distribution-on-ubuntu-16-04
posted by hatakazu at 21:29| Comment(0) | Linuxとか | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください