WindowsでのPython2からPython3への移行(共存化)の備忘録
やりたいこと
- Python2からPython3への移行
そろそろPython3をメインに使用したくなったので導入することに - Python2も使えるようにしておきたい(共存)
これまで書いてきたコードを全て書き直すのは面倒なためPython2.7も使えるようにしておきたい
condaを使ってpython2.7仮想環境の仮想環境を構築する方法でPython3とPython2の共存を実現する(後述) - 開発環境(Jupyter, PyCharmの設定)
普段使用しているJupyter, PyCharmにおいてpython2, 3を選択できるようにする
1.Python2からPython3への移行
1.1 Python2のアンインストール
プログラムの変更と削除からPython2.7をアンインストール
1.2 Python3のインストール
Anacondaで導入する
Anacondaのサイト(https://www.continuum.io/downloads )に行き、最新のAnaconda(Python3)のインストーラーをダウンロード
インストーラーを実行
Anacondaを入れる場所を選択
PATHを追加するか聞かれるので今回は「はい」を選択
これを選択しない場合自分でPATHを追加する必要あり
2つめのチェックボックスも「はい」
無事にPython3のインストールに成功
2.Python2の環境構築
condaを使いAnaconda3内にPyrhon2の仮想環境を構築する
コマンドプロンプトにて以下を実行
パッケージはあとから追加可能
# conda create --name [仮想環境名] python=2.7(好きなバージョン) [パッケージ] ... [パッケージ]
conda create --name python27 python=2.7 numpy scipy pandas jupyter
# 今回はpython2.7を単体で入れ、パッケージを追加する形にしたが、anacondaを入れることも可能
conda create -n anaconda2 python=2.7 anaconda
~Anaconda3/envsのディレクトリに指定した環境名のフォルダができているはず
仮想環境への出入り
# 仮想環境に入る
# activate [仮想環境名]
acitvate python27
# 仮想環境から出る
# deactivate [仮想環境名]
deactivate python27
パッケージの管理
Python3とPython2の環境ではパッケージは共通されないため、使いたいパッケージはそれぞれの環境に入れる必要がある
Python3の環境に入れるのは普段通りcondaやpipで可能
Python2の仮想環境に入れるには一度仮想環境を有効化してからcondaやpipを使用する
activate python27;conda install numpy
activate python27;pip install numpy
conda install --name python27 numpy # condaの場合、このように環境名を指定して入れる操作することもできる
pip install --name python27 numpy # これはできない×
3.開発環境の整備
普段使用している開発環境でPython2とPython3の両方を選択できるようにする
3.1 Jupyter
このままではAnaconda3で入れたjupyterを起動してもPython3しか選択できない
カーネルの追加という作業をする必要がある
# まず仮想環境を有効化
activate python27
# kernelの追加は以下のコマンドでできる
ipython kernel install --user --name=python27 --display-name=Python2
--name : 環境名
--display-name : jupyterで表示される名前
追加されたカーネルは、~AppData\Roaming\jupyter\kernelsの中に存在する
カーネルを削除したい場合はこのフォルダからそのカーネルを削除すれば良い
これによりjuypterからPython2も選択できるようになった
3.2 PyCharm
File→Setting→Project Interpreterを選択
赤丸で示した部分を選択
Add Localを選択
先程いれた仮想環境のpython.exeを選択
Anaconda3\envs\python27\python.exe
Apply
これでPyCharmでPython2の方も選択できるようになった
参考
データサイエンティストを目指す人のpython環境構築 2016 http://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c
Jupyterで複数カーネルを簡単に選択するための設定 http://qiita.com/tomochiii/items/8b937f15c79a0c3eae0e