できるようになること
- Miniconda3を使ってwindowsにpython環境を構築する
- 複数のバージョンのpython環境を同居させることができる
- こっちのscriptはpython3.5、こっちのscriptはpython3.7やpython2.7という風に複数の環境を共存させることができる
Miniconda3のインストール
-
公式にアクセスして自分のOSとCPUに合わせてインストールプログラムをダウンロード
- Miniconda3の最新版でよい
- ダウンロードしたexeを実行してウィザードを進めてインストール
- ※Anacondaというはじめからいろんなツールが入っているものもあります。
- インストール後コマンドプロンプトでcondaコマンドが通ればOK
C:\>conda -V
conda 4.7.10
-
コマンドが通らない場合は環境変数のPATHにconda.exeの在り処を設定する
- だいたいここらへんにあると思う
%USERPROFILE%\AppData\Local\Continuum\miniconda3\Scripts
- だいたいここらへんにあると思う
-
コマンドは
conda
と入力すると使えるコマンド一覧がでてきます。
C:\>conda
usage: conda-script.py [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
Options:
positional arguments:
command
clean Remove unused packages and caches.
config Modify configuration values in .condarc. This is modeled
after the git config command. Writes to the user .condarc
file (C:\Users\xxxxxx\.condarc) by default.
create Create a new conda environment from a list of specified
packages.
help Displays a list of available conda commands and their help
strings.
info Display information about current conda install.
init Initialize conda for shell interaction. [Experimental]
install Installs a list of packages into a specified conda
仮想環境の確認
- 現在作成されている仮想環境の一覧表示
C:\>conda info -e
# conda environments:
#
base * C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3
- 初期状態はbaseという名前の仮想環境が1つ存在していて、右側に表示されているpathの中に
python.exe
があります。
仮想環境へ入る
- 仮想環境「base」に入ります。
C:\>conda activate base
(base) C:\>
- プロンプトの先頭に
(base)
のように仮想環境名が表示されていればactiveになっている状態です。 - この状態でpythonインタプリタを起動します。
(base) C:\>python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
- python3.6.4と表示されています、これは
base
のpythonバージョンになります。base
はデフォルトの仮想環境なので基本的には使いません。
仮想環境の作成
- 構文
conda create --name <仮想環境名> python=<バージョン>
- python3.7環境を作成する
- 途中で
Proceed ([y]/n)?
と聞かれるのでy
を押す
- 途中で
(base) C:\>conda create --name vpy3.7 python=3.7
Collecting package metadata (current_repodata.json): don
.
.
.
<省略>
.
.
.
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate vpy3.7
#
# To deactivate an active environment, use
#
- 作成されたか確認
C:\>conda info -e
# conda environments:
#
base * C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3
vpy3.7 C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy3.7
- vpy3.7に入ってpythonインタプリタを起動する
C:\>conda activate vpy3.7
(vpy3.7) C:\>python
Python 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
- 無事にpython3.7環境が作成できました。
- python2.7環境の作成は以下のようになります。
- 環境作成時はどの仮想環境から実行しても問題ないです。
(vpy3.7) C:\>conda create --name vpy2.7 python=2.7
.
.
<省略>
・
・
(vpy3.7) C:\>conda info -e
# conda environments:
#
base C:\Users\xxxxxxx\AppData\Local\Continuum\miniconda3
vpy2.7 C:\Users\xxxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy2.7
vpy3.7 * C:\Users\xxxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy3.7
(vpy3.7) C:\>conda activate vpy2.7
(vpy2.7) C:\>python
Python 2.7.16 |Anaconda, Inc.| (default, Mar 14 2019, 15:42:17) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
仮想環境内でパッケージのインストール
- 通常パッケージ管理システムで
pip
を利用することが多いですが、conda環境内ではconda install
コマンドが推奨されています。- 私は
conda install
に対応していないパッケージはpip install
で入れています。
- 私は
- 現在の仮想環境内でインストール済みパッケージ一覧
(vpy3.7) C:\>conda list
# packages in environment at C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy3.7:
#
# Name Version Build Channel
ca-certificates 2019.8.28 0
certifi 2019.9.11 py37_0
openssl 1.1.1d he774522_0
pip 19.2.3 py37_0
python 3.7.4 h5263a28_0
setuptools 41.2.0 py37_0
sqlite 3.29.0 he774522_0
vc 14.1 h0510ff6_4
vs2015_runtime 14.16.27012 hf0eaf9b_0
wheel 0.33.6 py37_0
wincertstore 0.2 py37_0
-
scipy
を追加する
(vpy3.7) C:\>conda install scipy
Collecting package metadata (current_repodata.json): done
Solving environment: done
・
・
<省略>
・
・
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(vpy3.7) C:\>conda list
# packages in environment at C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy3.7:
#
# Name Version Build Channel
blas 1.0 mkl
ca-certificates 2019.8.28 0
certifi 2019.9.11 py37_0
icc_rt 2019.0.0 h0cc432a_1
intel-openmp 2019.4 245
mkl 2019.4 245
mkl-service 2.3.0 py37hb782905_0
mkl_fft 1.0.14 py37h14836fe_0
mkl_random 1.1.0 py37h675688f_0
numpy 1.16.5 py37h19fb1c0_0
numpy-base 1.16.5 py37hc3f5095_0
openssl 1.1.1d he774522_0
pip 19.2.3 py37_0
python 3.7.4 h5263a28_0
scipy 1.3.1 py37h29ff71c_0
setuptools 41.2.0 py37_0
six 1.12.0 py37_0
sqlite 3.29.0 he774522_0
vc 14.1 h0510ff6_4
vs2015_runtime 14.16.27012 hf0eaf9b_0
wheel 0.33.6 py37_0
wincertstore 0.2 py37_0
切り替えなしで指定した仮想環境でpythonを実行する
- 仮想環境を切り替えずにフルパスで実行することができます。
- 例えば
vpy2.7
環境でhoge.py
を実行したい場合は以下のようになります。
C:\>conda info -e
# conda environments:
#
base * C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3
vpy2.7 C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy2.7
vpy3.7 C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy3.7
C:\> C:\Users\xxxxxx\AppData\Local\Continuum\miniconda3\envs\vpy2.7\python.exe hoge.py