WindowsにCPython開発環境を整える (VSCode + Git)

AWSやGoogleAPIをはじめ、なにかとPythonを書けたほうがよい環境になりつつあるため
CPythonの開発環境をセットアップしておく。


開発環境に利用するソフトウェアは、Linux/Mac/Windows全てにおいて使える必要があることを条件に考えた結果、次のソフトを使うことに決めた。

  • エディタ
    • VS Code
  • バージョン管理ツール
    • Git


今回はWindowsに設定する。

CPython

2.7系3.5系等、目的のバージョンのインストーラを入手し実行する。

既に、新規プロジェクトの場合には3.x系の利用が促されているが、2.7系を今回は選択した。

インストール先は標準のC:\Python27のまま変更なし。

PATHの編集

Python.exeがある"C:\Python27"を環境変数PATHに追加する。

Windowsではモジュールのインストールに際し、わざわざ

python.exe -m pip install %MODULE_NAME%

とやらなければならないことと、VS CodeがPython.exeを見つけられないので
PATHに追加しておく。

pipのインストール

pipのインストーラget-pip.pyを入手し、Python.exeで引数に与えて実行する。

他のOSだとHTTPSから直接、ファイルとしてダウンロードすることなくシェルに渡して実行できるのだが
Windowsではできないため、一旦ファイルとして保存するしかない。

保存したら、コマンドプロンプトを起動し、保存したフォルダにcdして以下を実行する。

python.exe get-pip.py

最後に"Successfully installed pip-X.Y.Z"と表示されれば成功。

C:\Users\Anonymous\Downloads>python get-pip.py
Collecting pip
  Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB)
    100% |################################| 1.2MB 234kB/s
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
    100% |################################| 71kB 853kB/s
Installing collected packages: pip, wheel
  Found existing installation: pip 7.1.2
    Uninstalling pip-7.1.2:
      Successfully uninstalled pip-7.1.2
Successfully installed pip-8.1.2 wheel-0.29.0

C:\Users\Anonymous\Downloads>
|

virtualenvのインストール

pipを使いvirtualenvをインストールする。

python.exe -m pip install virtualenv

"Successfully installed virtualenv-X.Y.Z"と表示されれば成功。


CPythonについては以上でセットアップ終了。

VS Code: Visual Studio Code

2016/06/25現在、最新バージョンは1.2。
こちらのページから、OSにあったインストーラをダウンロードし、実行する。
途中表示されるダイアログはOKを選択し、初期設定から特に変える必要はない。

PATHの編集

VS Codeのドキュメントを見ると、

code .

というようにcode.exeがコマンドとして実行できる前提になっていることが多いので
その通りに実行できるようPATHにVS Codeのインストールフォルダを追加する。

Pythonプラグインの追加

Python用のデバッガをインストールする。
VS Code上でCtl+Pを押しプロンプトを表示させた後、次のコマンドを入力して、マーケットプレースからデバッガをインストールする。

ext install Python

正しくインストールされると、VS Codeの再起動を促されるので、VS Codeのウィンドウを閉じ、再度VS Codeを起動する。


以上でVS Codeのセットアップは終了。

Git

Windows版Gitをダウンロードしインストールするだけ。

プロジェクトを作り開発する

プロジェクトの作成

VS Codeではフォルダをプロジェクトとして扱うので、どこか適当な場所にプロジェクト用のフォルダを作る。

virtualenvでPython環境のインストール

上で作成したフォルダにコマンドプロンプトでcdし、virtualenvモジュールを使いPython仮想環境を作成する。

python.exe -m virtualenv %ENV_NAME%

例えば、virtualenvという名前のフォルダをPython仮想環境の関連ファイルを入れるサブフォルダとしたら

python.exe -m virtualenv virtualenv

とする。

VS Codeの起動

VS Codeを起動し、「ファイル」メニューの「フォルダーを開く」で、上で作成したフォルダを選択する。

.pyファイルの作成

なんでもよいのでPythonのファイルを作成する。

ファイルを作成したら、VS Code画面右下の☺のすぐ左側が"Python"となっていることを確認する。
Pythonになっておらず、"プレーンテキスト"になっていたら、そこをクリックし、Pythonを選択する。

launch.jsonの編集

メニューのデバッグアイコンをクリックし、デバッグメニューを表示する。
画面左上の再生ボタンのすぐ右のコンボボックスが"Python"となっていることを確認する。

そして、さらにすぐ右の歯車アイコンの"launch.jsonを開く"をクリックする。
launch.jsonの編集モードに移るので、configurations.pythonPathを追加し
上で作成したPython仮想環境内のPython.exeを指定する。

Python.exeは%ENV_NAME%/Scripts/python.exeにある。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "program": "${file}",
            "pythonPath": "${workspaceRoot}/virtualenv/Scripts/python.exe",
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit",
                "RedirectOutput"
            ]
        },
        ...
}


設定リロードのため、一度VS Codeを再起動する。
(バージョン1.2時点では、launch.jsonを編集しても直ちに今後の操作に反映されず、古い設定のまま動作するようだった)


正しく設定されれば、F5を押すとデバッグが開始できるようになる。
デバッグ実行時、デバッグ開始の最初の行で必ず一旦止まるのが仕様らしく、Visual Studioを使ったことがある人からすると違和感がある。。。

gitファイルの編集

Pythonの中間ファイル*.pycおよびvirtualenvフォルダの中身がGitの対象に含まれないように
.gitignoreを作成する。

*.pyc
virtualenv/*

virtualenv内には、インストールしたPCの情報(特にインストールフォルダ名など)が含まれるため
プロジェクトを複数人で共有したり、インターネットに公開するときには気を付ける必要がある。
その場合、READMEなどに「インストール時はpipで○○と××のモジュールをvirtualenvフォルダに入れて」と注記しておく。

Gitでリモートリポジトリにプッシュ

エクスプローラからプロジェクトフォルダを開き、空いている場所で右クリック。
右クリックメニューに"Git Bash Here"と出るので選択し、Bashを開く。

あとはgitコマンドを利用し、リポジトリの初期化、ファイルの登録、リモートリポジトリの登録等を行う。


以上で終了。