3
2

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 1 year has passed since last update.

個人的Pythonプロジェクト作成手順(VSCode, Poetry, flake8, black, isort)

Last updated at Posted at 2023-07-10

個人的Pythonプロジェクト作成手順

新しくプロジェクト(リポジトリ)を作成したいときにやることをまとめておく記事です。変更があったらなるべく更新していきたいと考えています。

パッケージ管理をPoetryで行い、VSCodeでLinter, Formatter (flake8, black, isort) を使用する設定を行うことで、ファイルの設定を行ったときに自動でコード整形等が走るようにします。

あくまでプロジェクト作成時に行う作業について記述するため、PythonやPoetryのインストールについては(ほとんど)触れません。

使用するモジュール

仮想環境、パッケージ管理

  • Poetry

formatter

  • black
  • isort

Linter

  • flake8

エディタにはVSCodeを使用します。
上記のformatter, linterの設定も記述します。

Poetryプロジェクトの作成

# 新規プロジェクト
poetry new <project name>
# 既存プロジェクトに追加
poetry init

initの場合はプロジェクト名やら互換性のあるPythonバージョンの指定やら聞かれる。

*PythonのバージョンはOSにインストールされているPythonが使用される。
指定したい場合は事前にバージョンを合わせておく。
私の場合はanyenv + pyenvを使用

# 新しいバージョンのインストール
pyenv install <Pythonのバージョン>
# 使用するバージョンの指定
pyenv global <Pythonのバージョン>

仮想環境の作成

VSCodeを使用する場合、仮想環境作成前に以下の設定をしておく

poetry config virtualenvs.in-project true --local

この設定をしておくことで、仮想環境がプロジェクトと同じディレクトリに作成されるため、
VSCodeがPythonのインタプリンタを認識してくれる。
localオプションをつけることでその設定がプロジェクト内のpoetry.tomlファイル内に記述され保存される
(github等を使用して別PCで作業する時でも同様の設定が引き継がれる)。

仮想環境作成は以下のコマンド

poetry install

依存パッケージの追加

poetry add <package name>

# 開発用パッケージ 
poetry add -D <package name>

ここでlinter, formatterをインストールしておく。

poetry add -D flake8 black isort

VSCodeの設定

以下の拡張機能をインストール

  • Black Formatter
  • Flake8
  • isort
  • Python

vscodeのsetting.jsonに下記を記述。

{
  "editor.formatOnSave": true,
  "python.formatting.provider": "none",
  "python.linting.flake8Enabled": true,
  "editor.codeActionsOnSave": {
    "source.organizeImports": true
  },
  "python.linting.flake8Args": [
    "--max-line-length",
    "150",
    "--ignore=W293 E203"
  ],
  "editor.formatOnType": true,
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
  }
}

仮想環境で実行

poetry run python <python file>
or
poetry shell
python <python file>

下はpoetry 仮想環境のシェルを立ち上げる。

参考

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?