0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCode で快適な Python 環境を構築する

Last updated at Posted at 2021-04-25

背景

色々あって 言語処理100本ノック 2020 (Rev 2) - NLP100 2020 を始めようと思ったが、Python の環境をどうすべきか分かりませんでした。同様に、他の言語から Python に来て迷った人の参考になれば幸いです。

ちなみに普段は Ruby(Rails) と TypeScript(React, Node.js) 、ちょっと Golang を書いているので、その辺りの人に馴染みやすいやり方かもしれません。

動作環境

  • macOS Catalina 10.15.7
  • anyenv 1.1.1
  • pyenv 1.2.26-15-gb1d1ceba
  • Python 3.9.4
  • VSCode 1.55.2

環境構築

前準備

自分は anyenv 経由で pyenv を入れているので、

anyenv update
pyenv install 3.9.4
pyenv rehash

で Python の最新版を入れます。最新バージョンは Python.org で確認しました。

自分は新しいことを始める前に環境を最新にしていますが、好みの問題かもしれないですね。(そこそこ新しければそのままで良い気もするし、あまりに古ければアップデートした方が良い気もする。)

pipenv を入れる

ライブラリを管理する方法はいくつかあるようですが、仕事で先輩が pipenv を使っていて良さそうだったので、pipenv でやってみました。

cd /path/to/project
pyenv local 3.9.4 # プロジェクト配下の Python バージョンを固定
pip install pipenv
pipenv --python 3.9 # 初期化

Linter とオートフォーマットの設定をする

ググると、flake8 + autopep8 でがイケてそうだったので、その構成にしてみます。flake8 で linting, autopep8 で auto formatting するという風に理解しました。

pipenv install --dev flake8 autopep8

pipenv run autopep8 xxx.py で実行できるようになったはず。

Python - Visual Studio Marketplace を入れて、ファイル保存時に自動整形されるように設定します。

.vscode/settings.json
{
  "python.linting.pylintEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.linting.lintOnSave": true,
  "python.formatting.provider": "autopep8",
  "editor.formatOnSave": true,
  "editor.tabSize": 4
}

pipenv を使っている場合、virtualenv まわりのパスを設定する必要がある。
virtualenv のパスpipenv --venv で確認できる。

ユーザーのsettings.json
{
  "python.venvPath": "{virtualenv のパス}",
  "python.pythonPath": "{virtualenv のパス}/bin/python",
  "python.autoComplete.extraPaths": [
    "{virtualenv のパス}/lib/python3.x/site-packages/"
  ],
  "python.linting.flake8Path": "{virtualenv のパス}/bin/flake8",
  "python.formatting.autopep8Path": "{virtualenv のパス}/bin/autopep8"
}

これで .py ファイルの lint エラーも出るし、ファイル保存時に自動整形されるようになったはず。

ついでに推奨拡張機能も設定しておくと、マシンを変えた場合などでも環境を再現しやすくなるので便利です。

.vscode/extensions.json
{
  "recommendations": [
    "ms-python.python"
  ]
}
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?