2020年版 Python 開発環境を構築する方法

こんにちは。

本記事では、Python 環境の構築方法を解説します。

PC が変わったり、OS のクリーンインストールするたびに、「Python 環境ってどうやって作るんだったかな?」とググってしまいませんか?

私は年に2,3回はそういうタイミングがあるので自分のためにも本記事を書き起こしました。

今回の環境としては、

  • Mac を前提に
  • バージョンとパッケージを切り替えれるように
  • 開発ツールは、今流行りの VSCode で

を例に解説をすすめます。

多くの部分は Windows でも通用すると思いますが、pyenv でのバージョン切り替えのあたりが Windows だと難しいかもしれません。

では解説していきます。

必要な箇所だけ読みたい人は目次をみてください。

Python のバージョンを切り替える

それほど活躍しないですが、Python のバージョンを切り替えるれるようにしておきます。

Python のバージョンを切り替えれるようにするには pyenv を使います。

pyenv をインストールする

$ brew install pyenv

続けて、Python の実行パスを切り替えれるようにシェルの初期処理に以下を追加します。
mac 標準の zsh であれば、.zshrcに追加します。

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

pyenv で新しいバージョンをインストールする

インストール済みのバージョンの確認は、

$ pyenv versions
* system (set by /Users/takada/.pyenv/version)

Mac であれば、Python 2.7 がプリインストールされています。

インストールできるバージョンを一覧するには、

$ pyenv install --list

3.9.0 など、バージョンだけの行がノーマルの Python のバージョンです。

例えば、3.9.0 をインストールするには、

$ pyenv install 3.9.0

pyenv で バージョンを切り替える

現在のシェルの Python のバージョンを 3.9.0 に変更するには、

$ pyenv global 3.9.0

Python のパッケージ環境(仮想環境)を切り替える

Python 3.3 以上であれば、Python 標準の venv を使うといいです。
3.3 より前のバージョンは仮想環境を切り替えるのを諦めましょう。

venv は、python の機能なので、venv で仮想環境を作る前に python のバージョン自体を作りたい仮想環境のバージョンに切り替えておく必要があります。

pyenv で バージョンを切り替える

$ pyenv global 3.9.0

venv で仮想環境を作る

そのあとに、venv でディレクトリを指定して仮想環境を作ります。

$ python -m venv ~/projectA/.venv

これで、~/projectA/.venv に仮想環境が生成されます。

Python のコードを格納するプロジェクトのルートフォルダに .venv というフォルダ名で作ると、VSCode と相性がよいです。

仮想環境に入る

仮想環境を切り替えるには、

$ source ~/projectA/.venv/bin/activate

仮想環境にパッケージをインストールする

仮想環境に入ったあとは、通常通り pip でパッケージをインストールできます。
インストールしたパッケージは仮想環境に入っているときだけ有効です。

仮想環境から抜ける

仮想環境から抜けるには、

$ deactivate

VSCode の仮想環境を切り替える

VSCode では簡単に仮想環境を切り替えれます。

VSCode で、先程作った仮想環境のプロジェクトフォルダ ~/projectA/ を開くと、VSCode のインタプリタとして.venvを選択できるようになります。

プロジェクトフォルダを開いた状態で、左下の Python のインタプリタをクリックすると選択ダイアログが表示されます。

Pythonのインタプリタを選択する

ダイアログで、~/projectA/.venvを選択してください。

VSCode でコードチェックする

コードチェックは flake8 がおすすめです。

VSCode でコードチェックを flake8 にするには、Python のプロジェクトフォルダの設定ファイル ~/projectA/.vscode/settings.json に以下を追記します。

{
  "python.linting.pylintEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.linting.enabled": true
}

すると、仮想環境に flake8 をインストールするようにインフォメーションがでるので、OK でインストールしてください。

VSCode で自動整形する

自動整形は yapf がおすすめです。

VSCode で自動整形を flake8 にするには、Python のプロジェクトフォルダの設定ファイル ~/projectA/.vscode/settings.json に以下を追記します。

{
  "python.formatting.provider": "yapf"
}

すると、仮想環境に yapf をインストールするようにインフォメーションがでるので、OK でインストールしてください。

保存時に自動整形するには、以下を settings.json に追加します。
プロジェクトごとの setting.json に追記してもよいですが、他の言語でも有効化するとよいので、ユーザごとの settings.json (Ctrl-Shift-P のOpen Settings (JSON) で開く setting.json) に追記するのをおすすめします。

{
  "editor.formatOnSave": true
}

まとめ

本記事では、

  • Python のバージョン、パッケージを切り替える仮想環境の構築方法
  • VSCode で開発が始められる程度の設定方法

を解説しました。

Python

Posted by crz33