Python3.5とPython2.7をウィンドウズで共存させてみる。
ウィンドウズ用PythonディストリビューションのWinPythonから2.7のサポートを直に終了するとアナウンスありました。そろそろ3への移行が本格化してきた感じがあります。
先月にリリースされたPython 3.5は何やら色々と大きな追加機能があって、これから長い間Pythonの新しいスタンダードとなっていきそうな感じです。タイプヒントなんかはパフォーマンスに影響がありそうですし、なかなかおもしろそうです。
よくPython 3はライブラリが揃っていないという批判されますが、これはもうほぼ解消していて、いまからPythonを始めるなら2を飛ばして3からでもいいと言える状況になっています。
numpy、matplotlib、Qtなどなど有名どころはかなり前から3に対応していますし、私の場合wxPythonとOpenCVがここ一年くらいで対応を完了したのが大きいです。なのでPython3未対応な有名ライブラリーを探すほうがむずかいいんじゃないでしょうか。
3.5が面白そうなので、2.7から移行するにはいいタイミングかも知れないと思ったので、Python 3.5に移行できるのか?Python2.7と共存させながらぼちぼち試していこうかなということで、今日Python 3.5をインストールしてみました。
Python3.5のインストール
Python3系にはWinPythonというPythonディストリビューションがあって、Pythonと科学技術関連に必要なライブラリが一緒になったインストーラーが便利ですが、記事の執筆時ではバージョンが3.4で、3.5への更新はまだのようです。Githubの活動はあるようなのでWinPythonの3.5対応もすぐでしょうけど、待ちきれずPython公式から素のPythonだけインストールしてみました。
普通にダウンロードすると32ビット版が落ちてくるので、64ビット版が欲しい場合、ダウンロードページにいって、Windows x86-64 executable installerを選択します。
私の場合2.7は32ビットで使っているので3系は64で遊んでみようと思います。
ちなみにWinPythonはPython(x,y)の中の人の一人おそらくフランス人のピエールさんがやっています。Python(x,y)は私がメインで使っている2.7系のPythonディストリビューションでNumpyとかてんこ盛りなので便利です。
さて、Python3のインストーラーを初期設定のまま走らせるとPythonの実行ファイルはユーザー領域の奥深くに行くようでPathを通しておかないと面倒そうです。
site-packagesも、C:\Users\ユーザー名\AppData\Local\Programs\Python\Python35-32\Lib\site-packagesと深い場所になっています。
インストール後、2.7用に作ったスクリプトをSublime textから走らせても全く干渉なく、スクリプトが正常に動いたので2.7系の環境はそのまま使えました。
Sublime textの設定
Sublime textはPythonのバイナリーを指定したビルドコマンドをつくることができるので2と3を切り替えるのは簡単にできます。
Python2用のビルドコマンドはこんな感じです。
{ "cmd": ["python", "-u", "$file"], "shell": "True", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
が、これにちょっと手を加えて
{ "cmd": ["C:/Users/ユーザー名/AppData/Local/Programs/Python/Python35-32/python.exe", "-u", "$file"], "shell": "True", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
という感じでPython3が使えました。Python35-32は32ビット版です。64ビット版は単にPython35になります。将来的には64ビットをメインで使えというメッセージですかね。バックスラッシュじゃなくってフォーワードスラッシュにしないとSublimeに怒られます。
Data\Packages\Userフォルダにpython35.sublime-buildとか名前をつけて保存して、Tool > Build Systemからpython35を選べばPython3でスクリプトが起動します。
ちゃんとprint分がエラーになって、おおっと思ってしまった。
とりあえずPython3をインストールしても2.7の環境とはまず干渉しないことがわかったので安心。
次回予告
次回はOpenCVやwxPython等、ライブラリのインストールに挑戦かな。
4月にPython3.4 64-bitでnumpyなどインストール。を書いた時はOpenCVの3.0がリリースされる前で、numpyなど諸々インストールできたが、完全に移行まであとちょっとという感じだった。
そして6月にOpenCV3を64bitのPython3.4で使う。を書いて、その時はWinPythonが使えたので一気に環境が整った。
3.5の場合、今のところは素のPythonしかない状態。まあ、pipでGolkeさんのwheelで大丈夫でしょう。
« 自分のHDDで容量無制限なクラウドストレージLimaを試してみた。 | トップページ | 村上春樹はなぜノーベル賞候補なのか。 »
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
« 自分のHDDで容量無制限なクラウドストレージLimaを試してみた。 | トップページ | 村上春樹はなぜノーベル賞候補なのか。 »
コメント