LoginSignup
5
6

More than 3 years have passed since last update.

python環境構築 Miniconda3ハンズオン 複数バージョンを共存させる

Posted at

できるようになること

  • 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
5
6
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
5
6