WindowsでPythonや
る方法いろいろ
Python入門者の集い #3 LT
1
自己紹介
 名前:
 driller
 Twitter:
 @patraqushe
 なにやってる人?
 デリバティブトレーダー
 Python歴
 1年ちょい
2
宣伝: PyConJP2016でTalkします
 https://pycon.jp/2016/ja/schedule/presentation/24/Distribution
 録画されないTalkです、あとからYouTubeで見ることができません
 Excel, pandas, Jupyter このどれかにティンときた人は是非きてネ
3
WindowsのバイナリでPythonを動かす
 公式のPythonからインストール
 Distributionからインストール
 Anaconda
 Canopy
 Python(x,y)
 WinPython
 Pyzo
 Intel® Distribution for Python*
 Cygwin, MinGW等
4
LinuxのバイナリでPythonを動かす
 仮想化マシン
 VMware Player, VirtualBox(Vagrant)
 コンテナ(Docker)
 Docker toolbox, Docker for Windows
 Bash on Ubuntu on Windows(WSL) ←New!
5
Windowsのバイナリで動かす場合
利点
 オーバーヘッドが少ない
 構成がシンプル
 WindowsのAPIが呼び出せる
Windowsアプリ(Excel等)と連携できる
欠点
 コンパイラが必要なパッケージを入
れる場合に苦労することがある
 Windowsに対応していないパッケー
ジがある
 cmd.exe(Dos)じゃないと使えないコ
マンドがある(conda, virtualenv-
wrapper)
 事例が少ない
6
Linuxのバイナリで動かす場合
利点
 殆どのパッケージが動作する
 シェルが使える
 インフラ系のツールと連動させるこ
とが容易
 pyenv等が使える
 事例が多い
欠点
 構成によってはオーバーヘッドがあ
る
 Windowsのアプリと連携できない
 GUIが面倒
 Linuxに対する学習コスト
7
WindowsのバイナリでPythonを動か
す
普通はここから
8
公式のPython
 最も一般的な方法で王道
 問題があった場合に比較的対処し易い
 コンパイルが必要なパッケージを入れる場合に苦労すること
がある
 コンパイラをインストールする
 Unofficial Windows Binaries for Python Extension
Packages(http://www.lfd.uci.edu/~gohlke/pythonlibs/)からwheelをダウンロー
ドしてインストールする ←ほぼ必須!
 仮想環境はVirtualenv, Virtualenvwrapperが主流
9
Distribution
 必要なパッケージがプリインストールされて便利
 現状ではAnaconda一強
 ハマってしまったときに困ることが多い
 パッケージ管理がブラックボックス
 トラブルシューティングの事例が少ない
 識者にきいても嫌がられることがある
 WinPythonはportableなので引っ越しに便利
10
Anaconda
 とにかくメジャーなパッケージがプリインストールされてい
る
 パッケージは全てビルドされている
 minicondaをインストールすることで最小限の構成も作れる
 pipも使えるがcondaというパッケージ管理コマンドがある
 condaにないパッケージはpipでインストールする
 condaで仮想環境を構築できる
 condaでハマったときに苦労することがある(特にWindows)
11
Intel® Distribution for Python*
 とにかく高速で動作する
 未だベータ版
 動かないパッケージが多い
 mklはnumpy等が対応してきたので、mkl目的ならこれを敢え
て選択しなくてもよいかも
12
LinuxのバイナリでPythonを動かす
Pythonのマイノリティからマジョリティへ
13
仮想化マシン(VM Ware, VirtualBox)
 通常のLinuxマシンと同じように使えるので、普段Linuxを触っ
ている場合は抵抗なく使える
 Linux環境の事例と共有できる
 pyenv, direnv, Pythonz等が使える
 殆どのパッケージが動作する
 仮想マシンが動作するハードウェア要件とOS要件がある
 仮想マシン用にある程度リソースが予約されてしまう
 Docker toolboxと併用するならVirtualBox
 OSはVagrantでインストールするのが手軽
14
Docker
 Docker for Windowsがbetaからstableになった
 様々なDocker Imageが用意されている
 Docker composeを使うことでDBや他の言語との連携ができ
る
 様々なOS、様々なバージョンのPython環境を構築できる
 作りなおしたり、引っ越しするのが簡単
 ハードウェア要件とOS要件がある
 ある程度コンテナの知識が必要
15
Bash on Ubuntu on Windows(WSL)
 Windows 10 Anniversary Editionからbash(Ubuntu)が使えるよ
うに
 CygwinやMinGWに近いが、ネイティブなバイナリが動作する
のでオーバーヘッドが少ない(らしい)
 Jupyter Notebookを普通にインストールしても動かないので、
libzmqのパッチを入れる必要がある(2016/8/20現在)
 https://github.com/Microsoft/BashOnWindows/issues/185
 GUIもX-windowで動作する(時間があればデモやります)
 ハードウェア要件とOS要件がある
 まだbeta版なので今後のアップデートに期待
16
Pythonのプライオリティはそこそこの
位置にいるので今後に期待できそう
https://msdn.microsoft.com/en-us/commandline/wsl/faq
17
Let's start Python!
ご清聴ありがとうございました
18

Pynyumon03 LT