LoginSignup
1
8

More than 5 years have passed since last update.

Python2からPython3への移行(Python2は仮想環境として再構築し共存化)

Last updated at Posted at 2017-07-07

WindowsでのPython2からPython3への移行(共存化)の備忘録

やりたいこと

  1. Python2からPython3への移行
    そろそろPython3をメインに使用したくなったので導入することに
  2. Python2も使えるようにしておきたい(共存)
    これまで書いてきたコードを全て書き直すのは面倒なためPython2.7も使えるようにしておきたい
    condaを使ってpython2.7仮想環境の仮想環境を構築する方法でPython3とPython2の共存を実現する(後述)
  3. 開発環境(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)のインストーラーをダウンロード
インストーラーを実行

image.png

Anacondaを入れる場所を選択

PATHを追加するか聞かれるので今回は「はい」を選択
これを選択しない場合自分でPATHを追加する必要あり
2つめのチェックボックスも「はい」
image.png

無事に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のディレクトリに指定した環境名のフォルダができているはず
image.png

仮想環境への出入り

# 仮想環境に入る
# 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しか選択できない
image.png

カーネルの追加という作業をする必要がある

# まず仮想環境を有効化
activate python27
# kernelの追加は以下のコマンドでできる
ipython kernel install --user --name=python27 --display-name=Python2

--name : 環境名
--display-name : jupyterで表示される名前

追加されたカーネルは、~AppData\Roaming\jupyter\kernelsの中に存在する
カーネルを削除したい場合はこのフォルダからそのカーネルを削除すれば良い

これによりjuypterからPython2も選択できるようになった
image.png

3.2 PyCharm

File→Setting→Project Interpreterを選択
赤丸で示した部分を選択
Add Localを選択
image.png

先程いれた仮想環境のpython.exeを選択
Anaconda3\envs\python27\python.exe
Apply
image.png

これでPyCharmでPython2の方も選択できるようになった

参考

データサイエンティストを目指す人のpython環境構築 2016 http://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c
Jupyterで複数カーネルを簡単に選択するための設定 http://qiita.com/tomochiii/items/8b937f15c79a0c3eae0e

1
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
8