Windows 10のBash on Ubuntu on WindowsでPython 3.6

Pyenvで入れるのが楽そうだったが, Pyenvを使うのが初めてだったため少しはまった. Pyenv自体は以下で入る.

$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

最後にメッセージが出てくる通り, .bashrcにでも以下のように書いてパスを通しておくと良い.

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

と, ここで依存するライブラリをインストールせずに環境をインストールするとはまる. インストール自体は成功するのだがいざ動かすと一部のエラーで落ちる. "ModuleNotFoundError: No module named '_bz2'"とか, matplotlibを使うときに"ModuleNotFoundError: No module named '_tkinter'"とか.

ちゃんと

apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev

をしてからインストールすること. 既にインストールしていた場合はアンインストールしてやりなおさなければならない.

# $ pyenv uninstall 3.6.3
$ pyenv install 3.6.3
$ pyenv global 3.6.3

以下の記事をちゃんと読めば書いてあった.

https://qiita.com/mogom625/items/b1b673f530a05ec6b423
https://github.com/pyenv/pyenv/wiki