読者です 読者をやめる 読者になる 読者になる

anacondaでpython3.6をインストール(Windows)

Python

追記:2016/02/02 anacondaにバンドルされているPythonインタプリタが3.6にアプデされました(01/31)。この記事は無用の長物です(元から存在価値は(ry。

2016/12/23にPython 3.6が正式にリリースされたので、インストールします。

要約

これだけ

追記:2016/2/01 文章を微修正。あと深夜テンションで書きつけた無用な一言に斜線を入れた。

本文

MacやLinux系のユーザはAnacondaを使わないほうがいい(pathを設定してOSのツールを覆い隠してしまう)らしいですが、Windowsユーザは失うものがないので便利に使っていきましょう。

$ conda env list
# conda environments:
root                  *  C:\Users\***\Anaconda3

$ conda create -n py36 python=3.6

conda create -n [name] python=[version]てな感じでroot以外のpython環境を入れられます。ずらずらとメッセージが出てきますが、「これインストールするやつね」という質問なので大丈夫なことを確認してy押してエンター。

The following NEW packages will be INSTALLED:

    pip:            9.0.1-py36_1
    python:         3.6.0-0
    setuptools:     27.2.0-py36_1
    vs2015_runtime: 14.0.25123-0
    wheel:          0.29.0-py36_0

Proceed ([y]/n)?

あとはactivate py36すればいいのですがここで問題発生。PowerShellだと環境を変更してもプロンプトに反映されない!

$ activate py36
$ python -V
Python 3.5.2 :: Anaconda 4.2.0 (64-bit)

以下のスレを斜め読みすると、どうやらPowerShell特有の問題らしいことが分かった*1

Activate environment not working on windows · Issue #1519 · conda/conda · GitHub

とりあえずcmd.exeの方ならちゃんと動くらしいので、そっちを使います。僕はPowerShellなんて使いこなせなくたって問題ないの! 投げやりでスイマセン。

というわけでコマンドプロンプトを立ち上げて気を取り直して以下。

$ activate py36
$ python -V
Python 3.6.0 :: Continuum Analytics, Inc.

これで終了なのですが、これだけだと毎回プロンプトを立ち上げるたびにactivateしないとpython 3.6が使えないです。

僕は初心者なので古いバージョンのPythonを使っていても(あまり)得るものがないので、コマンドを立ち上げた瞬間から常に新しいPythonを使えるようにしておきたいのです(あと僕がゔぃむの環境構築をちゃんとやってないのでactivateしたpython 3.6の世界をquickrunが認識してくれないという弊害があった)(こっちのほうが理由としては大きい

なので環境変数に次のようなpathを追加しておきます。

C:\Users\***\Anaconda3\envs\py36
C:\Users\***\Anaconda3\envs\py36\Scripts

ようなと書いたのはanacondaをインストールした場所によってpathが変わるからです。こんなしょうもない記事をここまで読んでいるのは環境構築で躓いて藁にもすがる思いで検索をかけてきた人くらいと思って可能な限りくどくどしく書いていますが、このpathの場所は頑張って自力で探してください。

f:id:cofree:20161226210105p:plain

こんな感じで使うパスAnaconda3\env\py36を有効にするにはAnaconda3直下のパス群より上にやっておく必要があります*2。同名のコマンドがある場合、先に書かれたパスが有効になるんですね。あー勉強になった(忘れてて躓いた)

私がanacondaを使うの初めてなだけで、以下の記事とか読んで基本的な使い方を理解していれば無用なんだと思います。知らんけど

データサイエンティストを目指す人のpython環境構築 2016 - Qiita

*1:が具体的にどのような問題があるのかまではよく分かってません…英語もコマンドも読むの辛い…

*2:コマンドがバッティングする古いパスは消したほうがいい(どっちのパス上のコマンド使ってるか分かりづらいし)のだけど、3.5はanacondaのインストーラで色々入れたし、あとで戻す可能性もゼロじゃない気がしたので(ダメなもったいない精神)