はじめに
Pythonは2.7系と3系の2つのバージョンが並行して開発されており、どちらもよく使われています。そのため、両方をインストールし、共存できるようにする方法をまとめます。
今回は2.7系を2.7.15、3系を3.7.0とします。(2018/9/2時点での最新版)
ただ、仮に3系が3.6とか3.5でも手順はほとんど同じになると思います。
今回はWindows10 64bitにインストールしますが、Windows7とか32bitとかでも手順は同じだと思います。
また、Macの場合はこちらが参考になりました。(素晴らしい記事をありがとうございます。)
Pythonインストール(Mac編)
2019/10/25 追記
本記事はPython公式のインストーラーを使ってPython2.7とPython3.7をWindowsにインストールする手順です。
もし、インストーラーを使わずに、コマンドだけでインストールしたい場合は、Chocolateyを使う方法がありますので、以下に新しい記事を作成しました。コマンドに慣れていれば、こちらの方が手順が少なくなり、オススメです。
WindowsにPython2.7とPython3.8が共存できるようにChocolateyでインストールする
Python3.7のインストーラーのダウンロード
以下の公式サイトにアクセスします。
Download the latest version for Windows
デカデカとあるDownload Python 3.7.0というボタンが目につきますが、これはクリックしないでください。というのも、これはWindows 32bit用のインストーラーだからです。64bit用ではありません。少しスクロールしてください。
少しスクロールすると、こんな感じの一覧表がありますので、その中から、Python 3.7.0(3系の最新版)をクリックしてください。すると、ページ遷移します。
再びスクロールすると、Filesという一覧表がありますので、その中から、Windows x86-64 executable installerをクリックしてください。64bit用のインストーラーpython-3.7.0-amd64.exeがダウンロードできます。
32bitのWindowsの場合は、おそらくWindows x86 executable installerをクリックすればよいと思います。
ダウンロードが終わっても、まだこのファイルは実行しないでください。2.7系のインストールを先にする必要があります。
Python2.7のインストーラーのダウンロード
先ほどのページに戻ります。
Download the latest version for Windows
今度はPython 2.7.15(2.7系の最新版)をクリックしてください。すると、ページ遷移します。
64bitのWindowsの場合、Filesの表からWindows x86-64 MSI installerをクリックしてください。2.7系のインストーラーがダウンロードされます。
32bitのWindowsの場合は、おそらくWindows x86 MSI installerをクリックすればよいと思います。
Python2.7のインストール
ダウンロードしたpython-2.7.15.amd64.msiを実行します。
画面の指示に従い、デフォルトの設定で進めていけばよいと思います。
インストール先は C:\Python27
がおすすめです。
ここもデフォルトでよいです。pipはインストールする設定にしてください。
Add python.exe to Pathはバツのままにしておいてください。(Python3と共存させるため)
こんな画面になったFinishでウィンドウを閉じます。
Python3.7のインストール
次にPython3系をインストールします。必ず3系よりも先に2.7系をインストールするようにしてください。
ダウンロードしたpython-3.7.0-amd64.exeを実行します。
Customize installationをクリックします。Install Nowをクリックすると、インストール先がユーザーディレクトリになってしまい、今後扱いずらくなってしまいます。
ここもデフォルトでよいです。pipにチェックを入れた状態で次に進めます。
Install for all usersにチェックを入れてください。
インストール先が、 C:\Program Files
配下になりますが、このままだと、今後扱いずらいので、変更します。今回はPython3.7.0なので、インストール先は C:\Python37
にしました。ご自身がインストールするバージョン番号に合わせて、フォルダ名は変更してください。
Installをクリックすると、インストールが始まります。
この画面が出れば完了です。Closeをクリックして、ウィンドウを閉じます。
環境変数の設定
システム環境変数のPathに以下の3つを追加します。
C:\Python37
C:\Python37\Scripts
C:\Python27\Scripts
この順番は非常に重要です。2.7が後に来るようにしてください。
システム環境変数にPY_PYTHONPATH
を追加し、値を3
にします。
ネットワークがプロキシ配下の場合は、環境変数にHTTP_PROXYとHTTPS_PROXYの追加も必要です。どちらも値は以下のようにします。
http://<ユーザー名>:<パスワード>@<ホスト名>:<ポート>
プロキシに認証がない場合は、<ユーザー名>と<パスワード>は省略可能です。
Pythonの切換確認
2.7系と3系の切り替えができるか確認します。コマンドプロンプトを起動し、以下のコマンドを打ちます。
rem Python 3系が起動することを確認
py
rem Python を終了
exit()
rem Python 2.7系が起動することを確認
py -2
rem Python を終了
exit()
Pythonの2.7系と3系が共存していることが確認できました。
pipの確認
pipがインストールされているか確認します。pipというのは、Pythonのパッケージ管理ソフトです。外部パッケージのインストール等で利用します。
コマンドプロンプトで以下を実行してみてください。
rem Python 3系が起動することを確認
pip --version
rem Python 2.7系が起動することを確認
pip2 --version
rem Python 3系が起動することを確認
pip3 --version
これで応答にバージョン番号が表示されれば、pipは正常にインストールできています。
次に、コマンドプロンプトでpip list
を実行してみてください。
Package Version
---------- -------
pip 10.0.1
setuptools 39.0.1
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
警告文が表示されています。どうやらpipのバージョンが古いので、バージョンアップを勧められているようです。表示されているコマンドを実行してみます。
python -m pip install --upgrade pip
新しいpipのインストールが始まります。
Collecting pip
Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 2.0MB/s
Installing collected packages: pip
Found existing installation: pip 10.0.1
Uninstalling pip-10.0.1:
Successfully uninstalled pip-10.0.1
Successfully installed pip-18.0
こんな風になればインストール終了です。pip list
を実行しても、警告が表示されなくなりました。
pip設定ファイルの作成
今後のために、pip.iniを作成します。pip.iniはpipの設定ファイルです。
まず、以下のパスにpip.iniというファイルがあるか確認します。
C:\ProgramData\pip\pip.ini
%APPDATA%\pip\pip.ini
%HOMEPATH%\pip\pip.ini
どこにもファイルがなければ、以下に新規作成します。
C:\ProgramData\pip\pip.ini
今後、pipの設定を変更したい場合は、このpip.iniを編集していきます。
プロキシの設定
プロキシ配下の場合は、プロキシの設定をphp.iniに追加します。
[global]
# プロキシ設定
proxy = http://<ユーザー名>:<パスワード>@<ホスト名>:<ポート>
さいごに
以上で終了です。予想以上に手順が多くて大変でしたが、Pythonの2.7系と3系を共存させることができました。