事象発生日:2017-09-17
記事公開日:2017-09-18
アクセス数:56480
新しいWindows PCを購入したので,Python環境を一から構築しなおした.
過去の自作ツールが2.7系で書かれているため,2.7系ベースで3.x系も使える環境を構築する.
と言いつつ,Pythonは好きではないので,最近は新規でコードを書くとこはない.
対話モードで起動すれば,高機能電卓として使え便利だが,そのようなものはirb (Interactive Ruby) を使えばPythonを使う必要もない.
大学の学科内共通言語がPythonなのが,本当に理解できない.
Microsoft Windows 10 Home (64bit)
https://www.anaconda.com/download/よりAnaconda 4.4.0 For Windows Installer (Python 2.7 version) をダウンロードする. | |
デフォルト設定のままでインストールする.すると,C:\ProgramData\Anaconda2 にインストールされる.(変なとこに入れるなぁ,という印象.) |
コマンドプロンプトからpython
やpip
と入力しても実行できない.
どうやらインストール時に,“Anacondaのパスを通す(英語)”のチェックをつけていなかったのがいけないようだ.説明文には非推奨とあった気がする.
なお,“AnacondaをデフォルトのPythonにする(英語)”みたいなのはチェックに入っていた.
仕方がないので,旧PCでパスが通っていた
C:\ProgramData\Anaconda2 | |
C:\ProgramData\Anaconda2\Scripts | |
C:\ProgramData\Anaconda2\Library\bin |
にパスを通す.
システム環境変数に,変数ANACONDA_PATH
を新規作成,その変数値をC:\ProgramData\Anaconda2;C:\ProgramData\Anaconda2\Scripts;C:\ProgramData\Anaconda2\Library\bin;
とし,%ANACONDA_PATH%
をシステム環境PATHへ登録した.
3.x系の仮想環境を構築する.
コマンドプロンプトで,
> conda create -n py36 python=3.6 anaconda
と実行すると,C:\Users\${username}\AppData\Local\conda\conda\envs\py36
に環境ができてしまった.
特定ユーザではなく,全ユーザに構築したかったので,とりあえず
> conda remove -n py36 --all
で環境の削除.
さらに,(正しい操作か不明だが)C:\Users\${username}\AppData\Local\conda
以下のディレクトリを削除.
コマンドプロンプトを管理者権限で立ち上げて,
> conda create -n py36 python=3.6 anaconda
と実行すると,C:\ProgramData\Anaconda2\envs\py36
に環境ができた.
以下,環境構築のコマンドログである.
> conda create -n py36 python=3.6 anaconda Fetching package metadata ........... Solving package specifications: . Package plan for installation in environment C:\ProgramData\Anaconda2\envs\py36: The following NEW packages will be INSTALLED: _license: 1.1-py36_1 alabaster: 0.7.10-py36_0 anaconda: 4.4.0-np112py36_0 anaconda-client: 1.6.3-py36_0 anaconda-navigator: 1.6.2-py36_0 anaconda-project: 0.6.0-py36_0 asn1crypto: 0.22.0-py36_0 astroid: 1.4.9-py36_0 astropy: 1.3.2-np112py36_0 babel: 2.4.0-py36_0 backports: 1.0-py36_0 beautifulsoup4: 4.6.0-py36_0 bitarray: 0.8.1-py36_1 blaze: 0.10.1-py36_0 bleach: 1.5.0-py36_0 bokeh: 0.12.5-py36_1 boto: 2.46.1-py36_0 bottleneck: 1.2.1-np112py36_0 bzip2: 1.0.6-vc14_3 [vc14] cffi: 1.10.0-py36_0 chardet: 3.0.3-py36_0 click: 6.7-py36_0 cloudpickle: 0.2.2-py36_0 clyent: 1.2.2-py36_0 colorama: 0.3.9-py36_0 comtypes: 1.1.2-py36_0 console_shortcut: 0.1.1-py36_1 contextlib2: 0.5.5-py36_0 cryptography: 1.8.1-py36_0 curl: 7.52.1-vc14_0 [vc14] cycler: 0.10.0-py36_0 cython: 0.25.2-py36_0 cytoolz: 0.8.2-py36_0 dask: 0.14.3-py36_1 datashape: 0.5.4-py36_0 decorator: 4.0.11-py36_0 distributed: 1.16.3-py36_0 docutils: 0.13.1-py36_0 entrypoints: 0.2.2-py36_1 et_xmlfile: 1.0.1-py36_0 fastcache: 1.0.2-py36_1 flask: 0.12.2-py36_0 flask-cors: 3.0.2-py36_0 freetype: 2.5.5-vc14_2 [vc14] get_terminal_size: 1.0.0-py36_0 gevent: 1.2.1-py36_0 greenlet: 0.4.12-py36_0 h5py: 2.7.0-np112py36_0 hdf5: 1.8.15.1-vc14_4 [vc14] heapdict: 1.0.0-py36_1 html5lib: 0.999-py36_0 icu: 57.1-vc14_0 [vc14] idna: 2.5-py36_0 imagesize: 0.7.1-py36_0 ipykernel: 4.6.1-py36_0 ipython: 5.3.0-py36_0 ipython_genutils: 0.2.0-py36_0 ipywidgets: 6.0.0-py36_0 isort: 4.2.5-py36_0 itsdangerous: 0.24-py36_0 jdcal: 1.3-py36_0 jedi: 0.10.2-py36_2 jinja2: 2.9.6-py36_0 jpeg: 9b-vc14_0 [vc14] jsonschema: 2.6.0-py36_0 jupyter: 1.0.0-py36_3 jupyter_client: 5.0.1-py36_0 jupyter_console: 5.1.0-py36_0 jupyter_core: 4.3.0-py36_0 lazy-object-proxy: 1.2.2-py36_0 libpng: 1.6.27-vc14_0 [vc14] libtiff: 4.0.6-vc14_3 [vc14] llvmlite: 0.18.0-py36_0 locket: 0.2.0-py36_1 lxml: 3.7.3-py36_0 markupsafe: 0.23-py36_2 matplotlib: 2.0.2-np112py36_0 menuinst: 1.4.7-py36_0 mistune: 0.7.4-py36_0 mkl: 2017.0.1-0 mkl-service: 1.1.2-py36_3 mpmath: 0.19-py36_1 msgpack-python: 0.4.8-py36_0 multipledispatch: 0.4.9-py36_0 navigator-updater: 0.1.0-py36_0 nbconvert: 5.1.1-py36_0 nbformat: 4.3.0-py36_0 networkx: 1.11-py36_0 nltk: 3.2.3-py36_0 nose: 1.3.7-py36_1 notebook: 5.0.0-py36_0 numba: 0.33.0-np112py36_0 numexpr: 2.6.2-np112py36_0 numpy: 1.12.1-py36_0 numpydoc: 0.6.0-py36_0 odo: 0.5.0-py36_1 olefile: 0.44-py36_0 openpyxl: 2.4.7-py36_0 openssl: 1.0.2l-vc14_0 [vc14] packaging: 16.8-py36_0 pandas: 0.20.1-np112py36_0 pandocfilters: 1.4.1-py36_0 partd: 0.3.8-py36_0 path.py: 10.3.1-py36_0 pathlib2: 2.2.1-py36_0 patsy: 0.4.1-py36_0 pep8: 1.7.0-py36_0 pickleshare: 0.7.4-py36_0 pillow: 4.1.1-py36_0 pip: 9.0.1-py36_1 ply: 3.10-py36_0 prompt_toolkit: 1.0.14-py36_0 psutil: 5.2.2-py36_0 py: 1.4.33-py36_0 pycosat: 0.6.2-py36_0 pycparser: 2.17-py36_0 pycrypto: 2.6.1-py36_6 pycurl: 7.43.0-py36_2 pyflakes: 1.5.0-py36_0 pygments: 2.2.0-py36_0 pylint: 1.6.4-py36_1 pyodbc: 4.0.16-py36_0 pyopenssl: 17.0.0-py36_0 pyparsing: 2.1.4-py36_0 pyqt: 5.6.0-py36_2 pytables: 3.2.2-np112py36_4 pytest: 3.0.7-py36_0 python: 3.6.1-2 python-dateutil: 2.6.0-py36_0 pytz: 2017.2-py36_0 pywavelets: 0.5.2-np112py36_0 pywin32: 220-py36_2 pyyaml: 3.12-py36_0 pyzmq: 16.0.2-py36_0 qt: 5.6.2-vc14_4 [vc14] qtawesome: 0.4.4-py36_0 qtconsole: 4.3.0-py36_0 qtpy: 1.2.1-py36_0 requests: 2.14.2-py36_0 rope: 0.9.4-py36_1 ruamel_yaml: 0.11.14-py36_1 scikit-image: 0.13.0-np112py36_0 scikit-learn: 0.18.1-np112py36_1 scipy: 0.19.0-np112py36_0 seaborn: 0.7.1-py36_0 setuptools: 27.2.0-py36_1 simplegeneric: 0.8.1-py36_1 singledispatch: 3.4.0.3-py36_0 sip: 4.18-py36_0 six: 1.10.0-py36_0 snowballstemmer: 1.2.1-py36_0 sortedcollections: 0.5.3-py36_0 sortedcontainers: 1.5.7-py36_0 sphinx: 1.5.6-py36_0 spyder: 3.1.4-py36_0 sqlalchemy: 1.1.9-py36_0 statsmodels: 0.8.0-np112py36_0 sympy: 1.0-py36_0 tblib: 1.3.2-py36_0 testpath: 0.3-py36_0 tk: 8.5.18-vc14_0 [vc14] toolz: 0.8.2-py36_0 tornado: 4.5.1-py36_0 traitlets: 4.3.2-py36_0 unicodecsv: 0.14.1-py36_0 vs2015_runtime: 14.0.25123-0 wcwidth: 0.1.7-py36_0 werkzeug: 0.12.2-py36_0 wheel: 0.29.0-py36_0 widgetsnbextension: 2.0.0-py36_0 win_unicode_console: 0.5-py36_0 wrapt: 1.10.10-py36_0 xlrd: 1.0.0-py36_0 xlsxwriter: 0.9.6-py36_0 xlwings: 0.10.4-py36_0 xlwt: 1.2.0-py36_0 zict: 0.1.2-py36_0 zlib: 1.2.8-vc14_3 [vc14] Proceed ([y]/n)? y ... 以下,パッケージのダウンロード画面 ... INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\ProgramData\Anaconda2\envs\py36', env_name: 'py36', mode: 'None', used_mode: 'system' INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\ProgramData\Anaconda2\envs\py36', env_name: 'py36', mode: 'None', used_mode: 'system' INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\ProgramData\Anaconda2\envs\py36', env_name: 'py36', mode: 'None', used_mode: 'system' INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\ProgramData\Anaconda2\envs\py36', env_name: 'py36', mode: 'None', used_mode: 'system' INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\ProgramData\Anaconda2\envs\py36', env_name: 'py36', mode: 'None', used_mode: 'system' INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\ProgramData\Anaconda2\envs\py36', env_name: 'py36', mode: 'None', used_mode: 'system' # # To activate this environment, use: # > activate py36 # # To deactivate this environment, use: # > deactivate py36 # # * for power-users using bash, you must source #
rem 環境の一覧 conda info -e rem 環境の切り替え activate py36 rem 環境の切り替えを戻す deactivate
> path PATH=...${略}...C:\ProgramData\Anaconda2;C:\ProgramData\Anaconda2\Scripts;C:\ProgramData\Anaconda2\Library\bin;...${略}... > where python C:\ProgramData\Anaconda2\python.exe > where pip C:\ProgramData\Anaconda2\Scripts\pip.exe > activate py36 (py36) > where python C:\ProgramData\Anaconda2\envs\py36\python.exe C:\ProgramData\Anaconda2\python.exe (py36) > where pip C:\ProgramData\Anaconda2\envs\py36\Scripts\pip.exe C:\ProgramData\Anaconda2\Scripts\pip.exe (py36) > path PATH=C:\ProgramData\Anaconda2\envs\py36;C:\ProgramData\Anaconda2\envs\py36\Library\mingw-w64\bin;C:\ProgramData\Anaconda2\envs\py36\Library\usr\bin;C:\ProgramData\Anaconda2\envs\py36\Library\bin;C:\ProgramData\Anaconda2\envs\py36\Scripts;...${略}...C:\ProgramData\Anaconda2;C:\ProgramData\Anaconda2\Scripts;C:\ProgramData\Anaconda2\Library\bin;...${略}...
上のようにコマンドを叩いたのだが,環境の切り替え時に環境PATHの上位に仮想環境のPATHを登録しているように見える.
root環境のPATHが消えていないのが気になるところ.
PATHへの登録時に,直接ではなく環境変数を介したことが影響しているとかあるのかな?
名前
Email (※公開されることはありません)
コメント