概要
minicondaのインストール手順と仮想環境の作成手順を備忘録として残す。
- 実施期間: 2020年2月
- 環境:Ubuntu18.04LTS
- Python2.7, 3.6.9インストール済み
- OPEN CV 3.4.8インストール済み
Minicondaのインストール
オフィシャルサイトから、Python3.7の最新インストール用shファイル(Miniconda3-latest-Linux-x86_64.sh)をダウンロードする。
Downloadsフォルダでbash実行しインストール
$ cd Downloads
$ bash Miniconda3-latest-Linux-x86_64.sh
インストール中、conda initを実行するか聞かれるので、NOを選択する。
インストール後、HOME直下にMiniconda3フォルダができる。
下記の2行をbashrcに追記する。追記し、source ~/.bashrcすればcondaをコマンドとして認識する。逆にしなければcondaはunknownなコマンドとエラーが表示される(こともある)。
export PATH=~/miniconda3/bin:$PATH
source ~/miniconda3/etc/profile.d/conda.sh
インストール中、conda initを実行するか聞かれたときにYesを選択すると上記のbashrcが自動で編集される。ただし、ターミナルを開くたびにcondaのbaseがactivate状態となってしまうため、下記でactivateさせないようにする。
$ conda config --set auto_activate_base false
conda-forgeレポジトリをデフォルトに設定し、.condarcのトップに追加されたことを確認する。
$ conda config --add channels conda-forge
$ conda config --set channel_priority strict
$ sudo vim /home/imo/.condarc
Pythonのオフィシャルも参照
Minicondaのアップデート、アンインストール
オフィシャルの"Updating Anaconda or Miniconda"、"Uninstalling Anaconda or Miniconda"に手順の記載あり。
ちなみにアップデートのコマンドは下記
$ conda update conda
教材のダウンロード
$ git clone https://github.com/mbeyeler/opencv-machine-learning.git
仮想環境作成
勉強用の仮想環境をPython3.X.Y指定で作成し起動する。
Yはなくてもよいし、"python=3.X.Y"を省略すると最新版のPythonになる。
省略すると今の環境ではPython 3.8.1が入った。
古いversionを指定すると、scipyやscikit-learnをインストールするとき、大量のコンフリクトが発生してしまう。
$ conda create -n hoge python=3.X.Y
$ source activate hoge
Activateした仮想環境"hoge"はcondaの世界
"hoge"内でパケージを必要に応じインストールする。
下記はその例で、下記も参照
https://anaconda.org/conda-forge/opencv
https://anaconda.org/conda-forge/jupyterlab
(hoge)$ conda install -c conda-forge numpy
(hoge)$ conda install -c conda-forge scipy
(hoge)$ conda install -c conda-forge scikit-learn
(hoge)$ conda install -c conda-forge matplotlib
(hoge)$ conda install -c conda-forge opencv
"-c conda-forge"オプションは前段でchannel_priority strict指定したので省略できるのかも。
pythonで環境確認する。
(hoge)$ python
>>> import sys
>>> print(sys.version)
3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0]
>>> import cv2
>>> cv2.__version__
'4.2.0'
"conda install opencv"でOPEN CV 4.2.0が入った。
MinicondaはAnacondaと違い最小インストールなので、Jupyter notebookもインストールする。
Jupyterの[オフィシャル](JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data.)によると、"JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data."とあるので、JupyterLabだけを入れればよいはず。
(hoge)$ conda install -c conda-forge jupyterlab
(hoge)$ jupyter notebook
jupyter notebookがブラウザで起動することを確認し、ターミナル側でCtrl+Cでjupyter notebookを終了させ、仮想環境も終了させる。
(hoge)$ conda deactivate
ちなみに、事前にOPEN CV 3.4.8はココでインストール済みだったが、conda仮想環境でimport cv2 (3.4.8)はできなかった(cv2なるnamespaceなしエラー)。
なので、上の手順でOPEN CVを仮想環境内でcondaでインストールした。
condaではない普通のpythonならimport cv2 (3.4.8)はOK。どんな環境でも3.4.8は参照できると思っていたが、原因は不明。
仮想環境複製
既存の仮想環境hogeの複製し新しくhoge2を作成する。
$ conda create -n hoge2 --clone hoge
仮想環境削除
現状の仮想環境のリストを表示させる。
$ conda info -e
# conda environments:
#
base * /home/imo/miniconda3
hoge /home/imo/miniconda3/envs/hoge
目的の仮想環境名を削除する。
$ conda remove -n hoge --all