【初心者】Anacondaを使ったPython環境構築-Windows
Windows端末にAnacondaを使ったPython環境を構築する機会があったので、備忘録も兼ね記事にしました。
環境
- Windows 10 Home
Anacondaインストール
[1]. Anaconda(https://docs.conda.io/en/latest/miniconda.html)へアクセス
[2]. 画面中盤の[Anaconda Installers]より、64-Bit Graphical Installer
をダウンロードします。
[3]. ダウンロードした次のファイルを起動します。
[4]. Next
を押します。
[5]. I Agree
を押します。
[6]. Just Me
を選択し、Next
を押します。
[7]. インストール先を指定し、Next
を押します。
[8]. Register Anaconda as my default Python 3.6
を指定し、Install
を押します。
Add Anaconda to my PATH environment variable
AnacondaでインストールされたPythonのパスがPATH環境変数に追加され、コマンドプロンプトなどでAnacondaのPythonが実行できるようになります。
Register Anaconda as my default Python 3.6
Pythonを利用するプログラムがAnacondaでインストールしたPythonを利用するようになります。
[9]. Next
を押します。
[10]. Next
を押します。
[11]. デフォルトのチェックを全て外し、Finish
を押します。
こちらのチェックは、下に貼る使用方法などのWebページを開くだけなので外しておいて問題ありません。
[12]. スタートメニューからanaconda prompt
を起動します。
[13]. python --version
を実行し画像のようにバージョンが表示されれば成功です。
Anaconda仮想環境の構築
開発環境はプロジェクトによって異なります。
異なるプロジェクトの環境を、1つの環境下で管理・構築してしまうと、利用しないライブラリなどが増え続け、メンテナンス性の低い使い勝手の悪い環境下でプロジェクトを進めることとなってしまいます。
仮想環境を使うことで、プロジェクト単位の独立した環境を構築することができ、ストレスの低い軽量でメンテナンス性の優れた環境を構築することができます。
作成までの流れ
- すでに存在する仮想環境がないか確認
- 仮想環境の作成
- 作成した仮想環境の確認
- 仮想環境の起動
- 仮想環境へライブラリを追加
すでに存在する仮想環境がないか確認
Anaconda Prompt
を起動し、次のコマンドを実行し、Anacondaにある全ての環境を一覧します。
conda info -e
(base) C:\Users\makio>conda info -e
# conda environments:
#
base * C:\Users\makio\anaconda3
実行結果を見ると現在は、base
という環境のみが存在しています。
アスタリスク(*)のついている環境が、今いる環境になります。
仮想環境の作成
仮想環境は、次のコマンドで作成することができます。
conda create -n 仮想環境の名前
しかし、このコマンドだとPython
すら入っていない真っ白な環境ができてしまうため、次の「仮想環境の作成」と「Pythonの導入」を同時に行うコマンドを使うのが主流です。(今回はこちらを使用します。)
なお、今回はflask
という名前の仮想環境を作成します。
conda create -n flask python
このコマンドの場合、最新バージョンのPythonが導入されます。
Python
のバージョンを指定したい場合は'python'と記載された部分を'python=3.5'のようにバージョン情報を追記してください。
作成した仮想環境の確認
作成が完了したら、次のとおりconda info -e
コマンドで仮想環境が存在することを確認します。
(base) C:\Users\makio>conda info -e
# conda environments:
#
base * C:\Users\makio\anaconda3
flask C:\Users\makio\anaconda3\envs\flask
この結果からflask
という名前の仮想環境が新たに作成されたことがわかります。
仮想環境の起動
作成しただけでは仮想環境を使うことができません。
次のコマンドで環境を起動します。
conda activate 仮想環境の名前
(base) C:\Users\makio>conda activate flask
(flask) C:\Users\makio>
( )
で囲まれた環境名がコマンド実行のタイミングでbase
からflask
に変更されています。
これで、仮想環境の起動・移動が完了したことになります。
一応conda info -e
で確認します。
(flask) C:\Users\makio>conda info -e
# conda environments:
#
base C:\Users\makio\anaconda3
flask * C:\Users\makio\anaconda3\envs\flask
*
の位置がflask
に変更されていることがわかります。
仮想環境の停止
起動中(activate)の環境を停止(deactivate)する場合は次のコマンドを使用します。
conda deactivate
(flask) C:\Users\makio>conda deactivate
(base) C:\Users\makio>
実行結果の通り(flask)
→(base)
に切り替わっていることがわかります。
仮想環境の削除
仮想環境を削除する場合は次のコマンドを使用します。
conda remove -n 仮想環境の名前 --all
削除が成功したことを確認するためconda info -e
コマンドで環境の状態を確認します。
(base) C:\Users\makio\anaconda3>conda info -e
# conda environments:
#
base * C:\Users\makio\anaconda3
実行結果の通りroot環境
のみが表示され、先ほどまであったflask
の環境が存在しないことがわかります。
これで削除は成功です。
仮想環境の再作成
削除してしまった環境を再作成します。
(base) C:\Users\makio\anaconda3>conda create -n flask
WARNING: A directory already exists at the target location 'C:\Users\makio\anaconda3\envs\flask'
but it is not a conda environment.
Continue creating environment (y/[n])? n
CondaSystemExit: Exiting.
(base) C:\Users\makio\anaconda3>conda create -n flask python
WARNING: A directory already exists at the target location 'C:\Users\makio\anaconda3\envs\flask'
but it is not a conda environment.
Continue creating environment (y/[n])?
すると、この通りWARNING
が出力されます。
これは「すでに'C:\Users\makio\anaconda3\envs'のパス上にflask
という名前のフォルダが存在しているので作れない」という意味になります。
先ほど実行したconda remove -n 仮想環境の名前 --all
では、作成した仮想環境のフォルダまで削除できないので、こちらは次のとおり手動で削除します。
(base) C:\Users\makio\anaconda3>cd C:\Users\makio\anaconda3\envs
(base) C:\Users\makio\anaconda3\envs>rd flask /s
flask、よろしいですか (Y/N)? Y
正常に削除が完了したら再度つぎのコマンドを実行します。
conda create -n flask python
今度は問題なくコマンドが通るはずです。
仮想環境の名前を変更する
今回は勤怠管理のアプリケーションを作成しようとおもうので、仮想環境の名前をflask
→attendance
に変更します。
仮想環境の名前を変える流れは、次のとおりです。
-
flask
の仮想環境をattendance
という名前でコピー - コピー元である
flask
の環境を削除 - コピー元である
flask
のフォルダを削除 -
attendance
を起動
conda create -n 新しい仮想環境名 --clone 古い仮想環境名
conda create -n attendance --clone flask
コマンドを実行したらconda info -e
で環境の状態を確認します。
(flask) C:\Users\makio>conda info -e
# conda environments:
#
base C:\Users\makio\anaconda3
attendance C:\Users\makio\anaconda3\envs\attendance
flask * C:\Users\makio\anaconda3\envs\flask
flask
, attendance
の二つの環境がそれぞれ存在します。
古い名前の環境であるflask
を削除するため次の順でコマンドを実行します。
(flask) C:\Users\makio>conda deactivate
(base) C:\Users\makio>conda remove -n flask --all
(base) C:\Users\makio>cd C:\Users\makio\anaconda3\envs
(base) C:\Users\makio\anaconda3\envs>rd flask /s
(base) C:\Users\makio\anaconda3\envs>cd ../../
(base) C:\Users\makio>conda activate attendance
(attendance) C:\Users\makio>
これで、仮想環境の名前変更と、新しい仮想環境の起動までが完了しました。
ライブラリをインストールする
作成した環境attendance
に新たにライブラリを追加します。
今回は'flask'というライブラリをインストールすることにします。
インストール済ライブラリの確認
インストールをはじめる前に、インストールしようとしているライブラリがすでに存在していないか次のコマンドで確認します。
conda list -n 仮想環境名
(attendance) C:\Users\makio>conda list -n attendance
# packages in environment at C:\Users\makio\anaconda3\envs\attendance:
#
# Name Version Build Channel
ca-certificates 2021.4.13 haa95532_1
certifi 2020.12.5 py39haa95532_0
openssl 1.1.1k h2bbff1b_0
pip 21.1.1 py39haa95532_0
python 3.9.5 h6244533_3
setuptools 52.0.0 py39haa95532_0
sqlite 3.35.4 h2bbff1b_0
tzdata 2020f h52ac0ba_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.36.2 pyhd3eb1b0_0
wincertstore 0.2 py39h2bbff1b_0
今回インストールするflask
が一覧上に存在しないことから、現状ではインストールされていないことが確認できました。
ライブラリのインストール
次のコマンドでflask
をインストールします。
conda install パッケージ名 -n 仮想環境名
(attendance) C:\Users\makio>conda list -n attendance
# packages in environment at C:\Users\makio\anaconda3\envs\attendance:
#
# Name Version Build Channel
ca-certificates 2021.4.13 haa95532_1
certifi 2020.12.5 py39haa95532_0
openssl 1.1.1k h2bbff1b_0
pip 21.1.1 py39haa95532_0
python 3.9.5 h6244533_3
setuptools 52.0.0 py39haa95532_0
sqlite 3.35.4 h2bbff1b_0
tzdata 2020f h52ac0ba_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.36.2 pyhd3eb1b0_0
wincertstore 0.2 py39h2bbff1b_0
(attendance) C:\Users\makio>conda install flask -n attendance
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: C:\Users\makio\anaconda3\envs\attendance
added / updated specs:
- flask
The following packages will be downloaded:
package | build
---------------------------|-----------------
click-8.0.1 | pyhd3eb1b0_0 79 KB
importlib-metadata-3.10.0 | py39haa95532_0 34 KB
itsdangerous-2.0.1 | pyhd3eb1b0_0 18 KB
jinja2-3.0.0 | pyhd3eb1b0_0 106 KB
markupsafe-2.0.1 | py39h2bbff1b_0 24 KB
------------------------------------------------------------
Total: 261 KB
The following NEW packages will be INSTALLED:
click pkgs/main/noarch::click-8.0.1-pyhd3eb1b0_0
flask pkgs/main/noarch::flask-1.1.2-pyhd3eb1b0_0
importlib-metadata pkgs/main/win-64::importlib-metadata-3.10.0-py39haa95532_0
itsdangerous pkgs/main/noarch::itsdangerous-2.0.1-pyhd3eb1b0_0
jinja2 pkgs/main/noarch::jinja2-3.0.0-pyhd3eb1b0_0
markupsafe pkgs/main/win-64::markupsafe-2.0.1-py39h2bbff1b_0
werkzeug pkgs/main/noarch::werkzeug-1.0.1-pyhd3eb1b0_0
zipp pkgs/main/noarch::zipp-3.4.1-pyhd3eb1b0_0
Discussion