備忘録としてメモしておきます。
参考
以下の記事を参考にさせていただきました。
概要
以下のものがインストールし、VSCode上でデバッグできることを目標に、
以下、手順を記載します。
- Python3 最新版
- pyenv-virtualenv
- flake8
- yapf
- mypy
pyenv-virtualenvのインストール
pyenv-virtualenvは、動作環境のバージョンを管理するツールで、rubyでのrbenvや、node.jsでのnvmのようなものです。
また、アプリケーションごとにバージョンの切り替えを容易にするだけでなく、同一バージョン内でも、それぞれ仮想環境を作成することが可能です。
-
brewからインストールする
$ brew install pyenv-virtualenv -
以下を
bash_profileに追記
vi ~/.bash_profile
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
設定を反映し、正常に動作するか確認
$ source ~/.bash_profile
$pyenv
最新のPythonのインストール
-
インストール可能なPythonのバージョン一覧の取得
$ pyenv install --list -
記事執筆時現在で最新のバージョンをインストール
$ pyenv install 3.5.2 -
インストールが完了したら、グローバルの環境を最新にする
$ pyenv global 3.5.2 -
念のため、pythonのバージョンがglobal設定したものになっているか確認
$ python --version
作業フォルダの作成
pyenv-virtualにて、仮想環境を作成し、作成した作業フォルダに適用します。
- 現在の環境をベースに環境名
env_352を作成
$ pyenv virtualenv 3.5.2 env_352
$ mkdir dev
$ cd dev
- 作業フォルダの動作環境を
env_352に設定する
$ pyenv local env_352
flake8のインストール
flake8はPythonのLinterです。
pip install flake8
yapf
yapfはPythonのコード整形を行うツールです。
pip install yapf
mypy
mypyはコード解析ツールです。Typescriptのように、静的に型チェックを行います。
個人的にはあると安心するので導入します。
pip install mypy
Visual Studio Codeの設定
- 開発するフォルダに移動
-
Ctrl + Shift Pを押し、Extensions: Install Extensionsと入力 -
Pythonで検索し、トップヒットしたものをインストールする - 画面左上の
Code→Preference→Workspace Settingsを開き、以下の項目を追加します
{
"python.linting.flake8Enabled": true,
"python.formatting.provider": "yapf",
"python.linting.mypyEnabled": true
}
Cmd + Shift + Dでデバッグ画面を開き、左上の歯車のマークをクリックし、
現在開いているファイルをテストする項目を追加するため、以下の記述を追加します。
{
"name": "Test This",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config.python.pythonPath}",
"program": "${file}",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}
動作確認
- 新しいタブを作り、py形式で保存。
以下のとおり記述し、F5を押すと、Debug Consoleに正常に表示される事を確認します。
print('Hello, World')
- 間違った書き方をした後に保存すると、mypy, flake8がエラーを出す事を確認
- コードを選択→右クリック→Format Codeで、ファイルが整形されることを確認