LoginSignup
4
7

More than 1 year has passed since last update.

【Python】お手軽に複数バージョンの環境構築 for Windows

Last updated at Posted at 2020-07-26

python開発環境を構築する場合、anacondaやjupyterlab等を使う事が多い。しかしながら、筆者はターミナル実行が大好きなためanacondaやjupyterlab等を使用していない。
本記事では、そのような方に向けてpythonの開発環境の整備の仕方やpython2系、python3系など複数の実行環境を使い分ける方法を共有致します。
友人からこの方法を聞かれることが多かったため、今回記事にまとめました。

開発環境

  • Windows10 Home (64bit)

pythonのインストール

まずは以下よりpythonのIDEをインストールしてください。
※この際、インストールしたディレクトリをちゃんと覚えといてください。
カスタムインストールならば、インストール先を明示的に選べるのでオススメです。
Cドライブの見やすいところなどにインストールしましょう。
- python-2.7.18.amd64-installer
- Python3.6.8-amd64-webinstall
- python-3.7.8-amd64-webinstall

実行環境の整備

以降の説明では、インストーラーで指定したインストール先がC:直下であると仮定して説明をします。違う場所にインストールしている場合は、適宜読み替えて頂くか、アンインストールしてC:直下にインストールし直してください。

実行ファイル(python.exe)の名称変更

C:Python27Python36Python37のようなフォルダが有ると思います。まずは、各ディレクトリの中に入ってください。すると、各ディレクトリでpython.exeという実行ファイルを見つけることが出来ます。
この名前を変えることで、簡単に複数の実行環境の整備を行う事が出来ます。
例えば、
- Python2.7の場合:python.exepython2.exe
- Python3.6の場合:python.exepython3.exe
- Python3.7の場合:python.exepython37.exe
※以降、この記事では各バージョンの実行ファイルを上記のように命名したと仮定して説明を続ける。

pathの設定

実行ファイルの名前を変えただけではグローバルな開発環境を構築することはできません。
名前を変更したEXEファイルがどこでも利用できる様、PATHを追加する必要があります。(※インストーラーで「pathを追加」にチェックを入れていた人は必要ないと思われます。)
PATHの追加方法については以下記事等を参照してください。
PATHの追加方法

上記方法を参考にして、以下のPATHを追加してください。
既に存在している場合、追加しなくて良いです。

  • Python2.7の場合:C:\Python27\C:\Python27\Scripts
  • Python3.6の場合:C:\Python36\C:\Python36\Scripts
  • Python3.7の場合:C:\Python37\C:\Python37\Scripts

これを行う事で先程の実行ファイルとpythonのライブラリがどこでも呼び出せるようになります。
ここで一応、再起動してください。PATHの更新が狙い。

動作確認

それでは、実際に各バージョンのpythonが起動するか確かめてみましょう。
まずは、ターミナルを立ち上げてください。使用するターミナルはコマンドプロンプトでもPowerShellでも構いません。個人的にはLinuxコマンドが幾つか使えるPowerShellが好きです(^^)。
立ち上げ方が分からない方はWinキー+Rを押して、cmdPowerShellと入力し、Enter。

ターミナルが起動後、先程命名した実行ファイルの名前(.exeは省く)python2python3python37を入力して下さい。
無事、各バージョンのpythonが立ち上がれば成功です。
以下、実行例。

PS C:\> python2
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
PS C:\> python3
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information. 
>>> exit()
PS C:\> python37
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit() 

ライブラリのインストール by pip

さて、無事にpythonの実行環境を複数構築することが出来ました。
今度は各バージョンごとにモジュールをインストールする方法をご紹介します。
と言ってもやることは簡単です。
モジュールのインストールにはpipを使用します。
以下、コマンドをターミナル上で実行すればOKです。

  • Python2.7の場合:python2 -m pip install <module-name>
  • Python3.6の場合:python3 -m pip install <module-name>
  • Python3.7の場合:python37 -m pip install <module-name>

これで各実行環境に対してのモジュールのインストールが出来るようになりました。
後は、pythonで色んなコード、プログラムの開発を好きに進めてください!

インストールの小ネタ

powershellとシェルスクリプトの活用

ある程度、pythonを使用していると自分がよく使うライブラリを理解してくると思います。
新たな環境を構築する際にわざわざ手動で行うのも効率が悪いので自動化してしまいましょう。GitHubにリポジトリを作っておくという方法もあるかもしれませんが、ここではシェルスクリプトを活用した方法をご紹介します。
Windows PowerShellでは.ps1というwindows環境でのシェルスクリプトを作成することが出来ます。基本的な考え方はLinuxのシェルスクリプトと同様です。
シェルスクリプトに関する内容はたくさんの方々がまとめているので、そちらを参照してください。Linux コマンド一覧表シェルスクリプト入門 書き方のまとめ

PowerShellの例はこんな感じです。
以下のように1つのシェルスクリプトにまとめておけば、1度でモジュールの整備を行う事が出来るので非常に便利です。

function my_echo($msg){
    echo ""
    echo $msg
    echo ""
}
function py_pip_upgrade(){
    python2 -m pip install --upgrade pip
    python3 -m pip install --upgrade pip
    python37 -m pip install --upgrade pip
    my_echo("Finish upgrade pip")
}
function py_pip_inst($lib){
    python2 -m pip install $lib
    python3 -m pip install $lib
    python37 -m pip install $lib
    my_echo("Finish install $lib")
}

py_pip_upgrade("")
py_pip_inst("numpy")
py_pip_inst("matplotlib")
py_pip_inst("csv")
py_pip_inst("opencv-python")
py_pip_inst("opencv-contrib-python")
py_pip_inst("pandas")
py_pip_inst("datetime")
py_pip_inst("py2exe")
py_pip_inst("requests")
py_pip_inst("scipy")
py_pip_inst("pygame")
python3 -m pip install pyinstaller
4
7
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
4
7