📌

毎回わすれる Python プロジェクトの始め方

2022/05/29に公開

venv 設定

$ mkdir my-project
$ cd my-project
$ python3 -m venv venv
# venv という名前の venv を作るよ
$ source venv/bin/activate
# 起動
(venv) $ deactivate
# 解除

VSCode の設定

VSCode は venv を認識してくれたりしてくれなかったりして、venv にパッケージ入れたけど Pylance に missing imports でおこられるという場合は settings.json を編集する

まず、 venv の python のパスを確認して

$ source venv/bin/activate
$ which python
/Users/hogetarou/my-project/.venv/bin/python

これを python.defaultInterpreterPath に設定する

settings.json
{ 
  // 他の設定
  "python.defaultInterpreterPath": "/Users/hogetarou/my-project/.venv/bin/python"
}

環境変数をコミットしないようにしておく

STEP 1: シェルスクリプトに全部保存しておく

$ vim set_env_vars.sh # 名前は好みで
# export SOME_SECRET_KEY=SOME_VALUE で追記していく
$ source set_env_vars.sh # 環境変数をロード

STEP 2: Python プロジェクトの中で参照

import os

SOME_SECRET_KEY = os.environ.get('SOME_SECRET_KEY')

.gitignore の設定

venv と pycache は初手で ignore しよう。test とか build は環境に合わせて入れてね。

自分用のgitignore
# venv
venv/

# python cache
*.pyc
__pycache__/

# ??
instance/

# test
.pytest_cache/
.coverage
htmlcov/

# build
dist/
build/
*.egg-info/

# dev
*.swo
*.swp
.DS_Store
set_env_vars.sh

これも参考にする

https://github.com/github/gitignore/blob/main/Python.gitignore

linter/formatter の設定

個人開発なので脳死で設定できる pysen を入れるよ

$ pip install "pysen[lint]"
$ pysen run format # 自動で直してもらう

これだけやっとけばとりあえずおっけー。詳しくはここをみてね
https://github.com/pfnet/pysen

Discussion