Windows10に入れたanacondaの仮想環境を作りDjangoをインストールする

#前提環境

- OS: Windows 10 Pro 1803（OSビルド17134.590) #コマンドプロンプトで`winver`実行
- Anaconda: 5.3.0　#コマンドプロンプトで`conda list`実行
- Python: 3.7.2 #コマンドプロンプトで`python --version`実行

```:コマンドプロンプト
C:\Users\taketakekaho>conda list
# packages in environment at C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0                    py37_0
alabaster                 0.7.12                   py37_0
anaconda                  5.3.0                    py37_0
anaconda-client           1.7.2                    py37_0
anaconda-navigator        1.9.6                    py37_0
anaconda-project          0.8.2                    py37_0
appdirs                   1.4.3            py37h28b3542_0
asn1crypto                0.24.0                   py37_0
astroid                   2.1.0                    py37_0
astropy                   3.1.1            py37he774522_0
atomicwrites              1.2.1                    py37_0
attrs                     18.2.0           py37h28b3542_0
automat                   0.7.0                    py37_0
babel                     2.6.0                    py37_0
backcall                  0.1.0                    py37_0
backports                 1.0                      py37_1
backports.os              0.1.1                    py37_0
backports.shutil_get_terminal_size 1.0.0                    py37_2
beautifulsoup4            4.6.3                    py37_0
bitarray                  0.8.3            py37hfa6e2cd_0
bkcharts                  0.2                      py37_0
blas                      1.0                         mkl
blaze                     0.11.3                   py37_0
bleach                    3.1.0                    py37_0
blosc                     1.15.0               h7bd577a_0
bokeh                     1.0.4                    py37_0
boost-cpp                 1.67.0               hfa6e2cd_4
boto                      2.49.0                   py37_0
bottleneck                1.2.1            py37h452e1ab_1
bs4                       0.0.1                     <pip>
bzip2                     1.0.6                hfa6e2cd_5
ca-certificates           2018.03.07                    0
certifi                   2018.11.29               py37_0
cffi                      1.11.5           py37h74b6da3_1
chardet                   3.0.4                    py37_1
click                     7.0                      py37_0
click-plugins             1.0.4                    py37_0
cligj                     0.5.0                    py37_0
cloudpickle               0.6.1                    py37_0
clyent                    1.2.2                    py37_1
colorama                  0.4.1                    py37_0
comtypes                  1.1.7                    py37_0
conda                     4.5.12                   py37_0
conda-build               3.17.7                   py37_0
conda-env                 2.6.0                         1
console_shortcut          0.1.1                         3
constantly                15.1.0           py37h28b3542_0
contextlib2               0.5.5                    py37_0
cryptography              2.4.2            py37h7a1dbc1_0
curl                      7.63.0            h2a8f88b_1000
cycler                    0.10.0                   py37_0
cython                    0.29.2           py37ha925a31_0
cytoolz                   0.9.0.1          py37hfa6e2cd_1
dask                      1.0.0                    py37_0
dask-core                 1.0.0                    py37_0
datashape                 0.5.4                    py37_1
decorator                 4.3.0                    py37_0
defusedxml                0.5.0                    py37_1
descartes                 1.1.0                    py37_0
distributed               1.25.2                   py37_0
docutils                  0.14                     py37_0
entrypoints               0.2.3                    py37_2
et_xmlfile                1.0.1                    py37_0
expat                     2.2.5                he025d50_0
fastcache                 1.0.2            py37hfa6e2cd_2
filelock                  3.0.10                   py37_0
fiona                     1.8.4            py37h22081e2_0
flask                     1.0.2                    py37_1
flask-cors                3.0.7                    py37_0
freetype                  2.9.1                ha9979f8_1
freexl                    1.0.5                hfa6e2cd_0
gdal                      2.3.3            py37hdf43c64_0
geopandas                 0.4.0                    py37_1
geos                      3.7.1                h33f27b4_0
geotiff                   1.4.2                h9c4a62d_0
get_terminal_size         1.0.0                h38e98db_0
gevent                    1.4.0            py37he774522_0
glob2                     0.6                      py37_1
greenlet                  0.4.15           py37hfa6e2cd_0
h5py                      2.9.0            py37h5e291fa_0
hdf4                      4.2.13               h712560f_2
hdf5                      1.10.4               h7ebc959_0
heapdict                  1.0.0                    py37_2
html5lib                  1.0.1                    py37_0
hyperlink                 18.0.0                   py37_0
icc_rt                    2019.0.0             h0cc432a_1
icu                       58.2                 ha66f8fd_1
idna                      2.8                      py37_0
imageio                   2.4.1                    py37_0
imagesize                 1.1.0                    py37_0
importlib_metadata        0.6                      py37_0
incremental               17.5.0                   py37_0
intel-openmp              2019.1                      144
ipykernel                 5.1.0            py37h39e3cac_0
ipython                   7.2.0            py37h39e3cac_0
ipython_genutils          0.2.0                    py37_0
ipywidgets                7.4.2                    py37_0
isort                     4.3.4                    py37_0
itsdangerous              1.1.0                    py37_0
jdcal                     1.4                      py37_0
jedi                      0.13.2                   py37_0
jinja2                    2.10                     py37_0
jpeg                      9b                   hb83a4c4_2
jsonschema                2.6.0                    py37_0
jupyter                   1.0.0                    py37_7
jupyter_client            5.2.4                    py37_0
jupyter_console           6.0.0                    py37_0
jupyter_core              4.4.0                    py37_0
jupyterlab                0.35.3                   py37_0
jupyterlab_launcher       0.13.1                   py37_0
jupyterlab_server         0.2.0                    py37_0
kealib                    1.4.7                h07cbb95_6
keyring                   17.1.1                   py37_0
kiwisolver                1.0.1            py37h6538335_0
krb5                      1.16.1               hc04afaa_7
lazy-object-proxy         1.3.1            py37hfa6e2cd_2
libarchive                3.3.3                h0643e63_5
libboost                  1.67.0               hfd51bdf_4
libcurl                   7.63.0            h2a8f88b_1000
libgdal                   2.3.3                h10f50ba_0
libiconv                  1.15                 h1df5818_7
libkml                    1.3.0                he5f2a48_4
libnetcdf                 4.6.1                h411e497_2
libpng                    1.6.36               h2a8f88b_0
libpq                     11.1                 h3235a2c_0
libsodium                 1.0.16               h9d3ae62_0
libspatialindex           1.8.5                h6538335_2
libspatialite             4.3.0a              hc36aec2_19
libssh2                   1.8.0                h7a1dbc1_4
libtiff                   4.0.9                h36446d0_2
libxml2                   2.9.8                hadb2253_1
libxslt                   1.1.32               hf6f1972_0
llvmlite                  0.27.0           py37ha925a31_0
locket                    0.2.0                    py37_1
lxml                      4.3.0            py37h1350720_0
lz4-c                     1.8.1.2              h2fa13f4_0
lzo                       2.10                 h6df0209_2
m2w64-gcc-libgfortran     5.3.0                         6
m2w64-gcc-libs            5.3.0                         7
m2w64-gcc-libs-core       5.3.0                         7
m2w64-gmp                 6.1.0                         2
m2w64-libwinpthread-git   5.0.0.4634.697f757               2
markupsafe                1.1.0            py37he774522_0
matplotlib                3.0.2            py37hc8f65d3_0
mccabe                    0.6.1                    py37_1
mecab-python-windows      0.996.1                   <pip>
menuinst                  1.4.14           py37hfa6e2cd_0
mistune                   0.8.4            py37he774522_0
mkl                       2019.1                      144
mkl-service               1.1.2            py37hb782905_5
mkl_fft                   1.0.10           py37h14836fe_0
mkl_random                1.0.2            py37h343c172_0
more-itertools            5.0.0                    py37_0
mpmath                    1.1.0                    py37_0
msgpack-python            0.5.6            py37he980bc4_1
msys2-conda-epoch         20160418                      1
multipledispatch          0.6.0                    py37_0
munch                     2.3.2                    py37_0
navigator-updater         0.2.1                    py37_0
nbconvert                 5.3.1                    py37_0
nbformat                  4.4.0                    py37_0
nbstripout                0.3.3                     <pip>
networkx                  2.2                      py37_1
nltk                      3.4                      py37_1
nose                      1.3.7                    py37_2
notebook                  5.7.4                    py37_0
numba                     0.42.0           py37hf9181ef_0
numexpr                   2.6.9            py37hdce8814_0
numpy                     1.15.4           py37h19fb1c0_0
numpy-base                1.15.4           py37hc3f5095_0
numpydoc                  0.8.0                    py37_0
odo                       0.5.1                    py37_0
olefile                   0.46                     py37_0
openjpeg                  2.3.0                h5ec785f_1
openpyxl                  2.5.12                   py37_0
openssl                   1.1.1a               he774522_0
packaging                 18.0                     py37_0
pandas                    0.23.4           py37h830ac7b_0
pandoc                    2.2.3.2                       0
pandocfilters             1.4.2                    py37_1
parso                     0.3.1                    py37_0
partd                     0.3.9                    py37_0
path.py                   11.5.0                   py37_0
pathlib2                  2.3.3                    py37_0
patsy                     0.5.1                    py37_0
pcre                      8.42                 hd6b2f15_0
pep8                      1.7.1                    py37_0
pickleshare               0.7.5                    py37_0
pillow                    5.4.1            py37hdc69c19_0
pip                       18.1                     py37_0
pip                       18.1                      <pip>
pkginfo                   1.4.2                    py37_1
pluggy                    0.8.1                    py37_0
ply                       3.11                     py37_0
postgresql                11.1                 h3235a2c_0
proj4                     5.2.0                ha925a31_1
prometheus_client         0.5.0                    py37_0
prompt_toolkit            2.0.7                    py37_0
psutil                    5.4.8            py37he774522_0
psycopg2                  2.7.6.1          py37h7a1dbc1_0
py                        1.7.0                    py37_0
pyasn1                    0.4.4            py37h28b3542_0
pyasn1-modules            0.2.3                    py37_0
pycodestyle               2.4.0                    py37_0
pycosat                   0.6.3            py37hfa6e2cd_0
pycparser                 2.19                     py37_0
pycrypto                  2.6.1            py37hfa6e2cd_9
pycurl                    7.43.0.2         py37h7a1dbc1_0
pyflakes                  2.0.0                    py37_0
pygments                  2.3.1                    py37_0
pyhamcrest                1.9.0                    py37_2
pylint                    2.2.2                    py37_0
pyodbc                    4.0.25           py37ha925a31_0
pyopenssl                 18.0.0                   py37_0
pyparsing                 2.3.0                    py37_0
pyperclip                 1.7.0                     <pip>
pyproj                    1.9.5.1          py37h6782396_1
pyqt                      5.9.2            py37h6538335_2
pyreadline                2.1                      py37_1
pysal                     1.14.4                   py37_0
pysocks                   1.6.8                    py37_0
pytables                  3.4.4            py37h1da0976_0
pytest                    4.1.0                    py37_0
pytest-arraydiff          0.3              py37h39e3cac_0
pytest-astropy            0.5.0                    py37_0
pytest-doctestplus        0.2.0                    py37_0
pytest-openfiles          0.3.2                    py37_0
pytest-remotedata         0.3.1                    py37_0
python                    3.7.2                h8c8aaf0_0
python-dateutil           2.7.5                    py37_0
python-libarchive-c       2.8                      py37_6
pytz                      2018.7                   py37_0
pywavelets                1.0.1            py37h8c2d366_0
pywin32                   223              py37hfa6e2cd_1
pywinpty                  0.5.5                 py37_1000
pyyaml                    3.13             py37hfa6e2cd_0
pyzmq                     17.1.2           py37hfa6e2cd_0
qt                        5.9.7            vc14h73c81de_0
qtawesome                 0.5.5                    py37_0
qtconsole                 4.4.3                    py37_0
qtpy                      1.5.2                    py37_0
requests                  2.21.0                   py37_0
rope                      0.11.0                   py37_0
rtree                     0.8.3                    py37_0
ruamel_yaml               0.15.46          py37hfa6e2cd_0
scikit-image              0.14.1           py37ha925a31_0
scikit-learn              0.20.2           py37h343c172_0
scipy                     1.1.0            py37h29ff71c_2
seaborn                   0.9.0                    py37_0
selenium                  3.141.0                   <pip>
send2trash                1.5.0                    py37_0
service_identity          18.1.0           py37h28b3542_0
setuptools                40.6.3                   py37_0
shapely                   1.6.4            py37h222a598_0
simplegeneric             0.8.1                    py37_2
singledispatch            3.4.0.3                  py37_0
sip                       4.19.8           py37h6538335_0
six                       1.12.0                   py37_0
snappy                    1.1.7                h777316e_3
snowballstemmer           1.2.1                    py37_0
sortedcollections         1.0.1                    py37_0
sortedcontainers          2.1.0                    py37_0
sphinx                    1.8.2                    py37_0
sphinxcontrib             1.0                      py37_1
sphinxcontrib-websupport  1.1.0                    py37_1
spyder                    3.3.2                    py37_0
spyder-kernels            0.3.0                    py37_0
sqlalchemy                1.2.15           py37he774522_0
sqlite                    3.26.0               he774522_0
statsmodels               0.9.0            py37h452e1ab_0
sympy                     1.3                      py37_0
tblib                     1.3.2                    py37_0
terminado                 0.8.1                    py37_1
testpath                  0.4.2                    py37_0
tk                        8.6.8                hfa6e2cd_0
toolz                     0.9.0                    py37_0
tornado                   5.1.1            py37hfa6e2cd_0
tqdm                      4.28.1           py37h28b3542_0
traitlets                 4.3.2                    py37_0
twisted                   18.9.0           py37he774522_0
unicodecsv                0.14.1                   py37_0
urllib3                   1.24.1                   py37_0
vc                        14.1                 h0510ff6_4
vs2015_runtime            14.15.26706          h3a45250_0
wcwidth                   0.1.7                    py37_0
webencodings              0.5.1                    py37_1
werkzeug                  0.14.1                   py37_0
wheel                     0.32.3                   py37_0
widgetsnbextension        3.4.2                    py37_0
win_inet_pton             1.0.1                    py37_1
win_unicode_console       0.5                      py37_0
wincertstore              0.2                      py37_0
winpty                    0.4.3                         4
wrapt                     1.10.11          py37hfa6e2cd_2
xerces-c                  3.2.2                ha925a31_0
xlrd                      1.2.0                    py37_0
xlsxwriter                1.1.2                    py37_0
xlwings                   0.15.1                   py37_0
xlwt                      1.3.0                    py37_0
xz                        5.2.4                h2fa13f4_4
yaml                      0.1.7                hc54c509_2
zeromq                    4.2.5                he025d50_1
zict                      0.1.3                    py37_0
zlib                      1.2.11               h62dcd97_3
zope                      1.0                      py37_1
zope.interface            4.6.0            py37he774522_0
zstd                      1.3.7                h508b16e_0
```

#仮想環境って何できるの？
Anacondaのデフォルトで使えるPythonには手を加えずに別のPython作ることができます。まだ私Python環境まわりは初心者なのでもし何か失敗したらそこだけ削除して最初からやり直したりできるようにしたいなと思いまして。
本来（？）の使い方は複数のプロジェクトを並行で開発するために異なるPythonのバージョンや環境を切り替えて構築できるようにする仕組みです。

#仮想環境作成
コマンドプロンプトで`conda create -n hoge`というコマンドで作成できます。`hoge`は自分の好きな環境の名前をつけます。私はとりあえずpy37で作ります。
途中で`Proceed ([y]/n)?`と聞いてくるので`y`で応答します。

```:コマンドプロンプト
C:\Users\taketakekaho>conda create -n py37
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 4.5.12
  latest version: 4.6.7

Please update conda by running

    $ conda update -n base -c defaults conda
## Package Plan ##
  environment location: C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3\envs\py37
Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use:
# > activate py37
#
# To deactivate an active environment, use:
# > deactivate
#
# * for power-users using bash, you must source
#
```

#仮想環境の情報を確認する
`conda info -e`というコマンドで仮想環境を確認することができます。

```:コマンドプロンプト
C:\Users\taketakekaho>conda info -e
# conda environments:
#
base                  *  C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3
py37                     C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3\envs\py37
```

#作成した仮想環境をActiveにする
作った環境に切り替えます。プロンプトが返る時`(hoge)`が付いていればOKです。

```:コマンドプロンプト
C:\Users\taketakekaho\Desktop\code>activate py37
(py37) C:\Users\taketakekaho\Desktop\code>
```

アクティブになっているかは再度`conda info -e`コマンドでアクティブになっている環境に`*`の印が付いてることで確認できます。

```:コマンドプロンプト
(py37) C:\Users\taketakekaho\Desktop\code>conda info -e
# conda environments:
#
base                     C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3
py37                  *  C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3\envs\py37
```


#仮想環境にDjangoをインストールする
じゃ作成したpy37という仮想環境内にDjangoをインストールします。

```:
(py37) C:\Users\taketakekaho\Desktop\code>conda install django
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 4.5.12
  latest version: 4.6.7
Please update conda by running
    $ conda update -n base -c defaults conda

## Package Plan ##
  environment location: C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3\envs\py37

  added / updated specs:
    - django

The following packages will be downloaded:
    package                    |            build
    ---------------------------|-----------------
    wheel-0.33.1               |           py37_0          57 KB
    ca-certificates-2019.1.23  |                0         158 KB
    python-3.7.2               |      h8c8aaf0_10        17.7 MB
    django-2.1.7               |           py37_0         4.4 MB
    pip-19.0.3                 |           py37_0         1.8 MB
    pytz-2018.9                |           py37_0         264 KB
    openssl-1.1.1b             |       he774522_0         5.8 MB
    setuptools-40.8.0          |           py37_0         663 KB
    ------------------------------------------------------------
                                           Total:        30.8 MB

The following NEW packages will be INSTALLED:

    ca-certificates: 2019.1.23-0
    certifi:         2018.11.29-py37_0
    django:          2.1.7-py37_0
    openssl:         1.1.1b-he774522_0
    pip:             19.0.3-py37_0
    python:          3.7.2-h8c8aaf0_10
    pytz:            2018.9-py37_0
    setuptools:      40.8.0-py37_0
    sqlite:          3.26.0-he774522_0
    vc:              14.1-h0510ff6_4
    vs2015_runtime:  14.15.26706-h3a45250_0
    wheel:           0.33.1-py37_0
    wincertstore:    0.2-py37_0

Proceed ([y]/n)? y

Downloading and Extracting Packages
wheel-0.33.1         | 57 KB     | ############################################################################ | 100%
ca-certificates-2019 | 158 KB    | ############################################################################ | 100%
python-3.7.2         | 17.7 MB   | ############################################################################ | 100%
django-2.1.7         | 4.4 MB    | ############################################################################ | 100%
pip-19.0.3           | 1.8 MB    | ############################################################################ | 100%
pytz-2018.9          | 264 KB    | ############################################################################ | 100%
openssl-1.1.1b       | 5.8 MB    | ############################################################################ | 100%
setuptools-40.8.0    | 663 KB    | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(py37) C:\Users\taketakekaho\Desktop\code>
```

###condaのバージョンアップ
condaのバージョンが古いって言われたので言われた通りのコマンドでバージョン上げときます。
>==> WARNING: A newer version of conda exists. <==
  current version: 4.5.12
  latest version: 4.6.7
Please update conda by running
    $ conda update -n base -c defaults conda

```:コマンドプロンプト
(py37) C:\Users\kahori_takeda\Desktop\code>conda update -n base -c defaults conda
Solving environment: done

## Package Plan ##
  environment location: C:\Users\kahori_takeda\AppData\Local\Continuum\anaconda3

  added / updated specs:
    - conda

The following packages will be downloaded:
    package                    |            build
    ---------------------------|-----------------
    conda-4.6.7                |           py37_0         1.7 MB

The following packages will be UPDATED:
    ca-certificates: 2018.03.07-0      --> 2019.1.23-0
    conda:           4.5.12-py37_0     --> 4.6.7-py37_0
    openssl:         1.1.1a-he774522_0 --> 1.1.1b-he774522_0

Proceed ([y]/n)? y
Downloading and Extracting Packages
conda-4.6.7          | 1.7 MB    | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
```

#condaリスト確認
`conda list`コマンドでdjangoがインストールできていることを確認します。

```:
(py37) C:\Users\taketakekaho\Desktop\code>conda list
# packages in environment at C:\Users\taketakekaho\AppData\Local\Continuum\anaconda3\envs\py37:
#
# Name                    Version                   Build  Channel
ca-certificates           2019.1.23                     0
certifi                   2018.11.29               py37_0
django                    2.1.7                    py37_0
openssl                   1.1.1b               he774522_0
pip                       19.0.3                   py37_0
python                    3.7.2               h8c8aaf0_10
pytz                      2018.9                   py37_0
setuptools                40.8.0                   py37_0
sqlite                    3.26.0               he774522_0
vc                        14.1                 h0510ff6_4
vs2015_runtime            14.15.26706          h3a45250_0
wheel                     0.33.1                   py37_0
wincertstore              0.2                      py37_0
```


参考にした記事
[[Python]Anacondaで仮想環境を作る](https://qiita.com/supersaiakujin/items/50def6f33b79f9a61b18)
[【初心者向け】Anacondaで仮想環境を作ってみる](https://qiita.com/ozaki_physics/items/985188feb92570e5b82d)