Windows Subsystem for LinuxでPython環境構築

"Bash on Ubuntu on Windows" とか "Bash on Windows" とか呼ばれたりしているようですね。
というわけで、ここにPython開発環境を整えるお話です。




前書き

ちょうどPythonのお勉強を始めたところなんですが、UbuntuでやっていたのでWindowsでやろうとすると操作感の違いに困っていました。
「コマンドプロンプトでbashが動くようになったら、とっても嬉しいな~」
って思って調べてみると、どうもWindows10だとBashが普通に動くようなので、導入してPython実行環境を整えてみました。


参考リンク:http://qiita.com/Aruneko/items/c79810b0b015bebf30bb


Bash準備

1. 機能を有効化する

[設定] → [アプリ] → [アプリと機能] → [プログラムと機能] をクリック。

[Windowsの機能の有効化または無効化] → [Windows Subsystem for Linux (Beta)]
 をクリック。

するとインストーラーが動き始めて、必要なファイルのインストールが始まる。
インストールが完了すると再起動を求められるので、再起動する。


2. 開発者モードを有効化する

再起動が終わったら、開発者モードを有効化する。
[設定] → [更新とセキュリティ] → [開発者向け] → [開発者モード] をクリック。


3. bashをインストールする

コマンドプロンプトを起動して、 "bash" と入力し、インストール実行。

まずWindowsストアからのダウンロードが始まる。
我が家のネット環境はWiMAX2+なので、まぁまぁ時間かかった。

ダウンロードが終わると、ロケール設定とユーザー作成が始まるので、適宜設定。
なんとなく日本語はどこかで不都合ありそうなので、今回はロケールen_USに設定。

ここまででBashのインストールは完了。あとはUbuntuと同じ要領で使えます。
ちなみに、現時点では Ubuntu 16.04 LTS がインストールされます。


環境構築

とりあえずアップデート。
sudo apt-get update
sudo apt-get upgrade

ターミナルマルチプレキサが欲しいけどXがないので、tmux入れます
sudo apt-get install tmux

デフォルトではPythonは入っていないようです。入れましょう。
sudo apt-get install python python-virtualenv
sudo apt-get install python3 python3-virtualenv

これで、python 2.7.12 と 3.5.2 が入ります。
試しに、それぞれvirtualenv作ってみましょう。
virtualenv -p python python2-test
virtualenv -p python3 python3-test

# python2x
$ cd python2-test
$ source bin/activate
$ python -V
Python 2.7.12

# python3x
$ cd python3-test
$ source bin/activate
$ python -V
Python 3.5.2

よしよし、OKっぽいです。

とりあえず、以下でjupyterは動くことが確認できました。
# どこかのvirtualenvがactivateされている前提
$ pip install jupyter
$ jupyter notebook

僕はそれほどPythonに明るくないので、環境構築の話はここで止めます。
ここから先は、それぞれやりたい事次第で入れるものが違ってくるんじゃないかなって思います。


その他

  • ホストネームがダサすぎるんだけど、どうも変更できない。
  • フォルダ作ると全部フルアクセスになって、字が緑背景になってダサい
  • というか、文字の色分けが見えづらい。黒背景に青文字はキツイ
    • 誰か良い感じの表示色カスタマイズを教えて
  • tmuxをデタッチしてコマンドプロンプト閉じると、やっぱセッション消える(当然)
  • Windowsでもファイルが扱えると楽かなって思うので、/mnt/c/ 配下オススメ
  • パス名が長くなるからホームディレクトリからシンボリックリンク貼るとなおよい
  • 重くなるという話もあったが、こちらでは確認できず
    • めっちゃ使ってたら重たくなってくるのかも? 要検証

    我が家では普通にUbuntuが動いている大きなPCがあるので、家ではあまり活躍の場は無いかもですが、お外に持っていくPCに入っていると便利そうだなって思いました。


    詳解 ディープラーニング TensorFlow・Kerasによる時系列データ処理
    マイナビ出版 (2017-05-30)
    売り上げランキング: 449

    コメント