Open3
python環境構築 with pyenv and poetry
curl -sSL https://install.python-poetry.org | python3 -
# ~/.zshrc
export PATH=$HOME/.local/bin:$PATH
▶ poetry --version
Poetry (version 1.2.0)
参考
- pyenv
- pythonの異なるバージョンを管理するツール
- pyenv-virtualenv
- pythonの仮想環境を作成
- 同一バージョンでも環境名により新たに名前空間を指定できて、環境の管理がしやすくなる
- poetry
- パッケージ管理、依存関係解決、パッケージングなどの設定をpyproject.tomlで一元的に管理できる
dev dependencies
result
settings.json
{
"python.formatting.blackPath": <black path>,
"python.formatting.provider": "black",
"python.analysis.typeCheckingMode": "basic",
"python.linting.flake8Enabled": true,
"python.linting.flake8Path": <flake8 path>,
"python.linting.flake8CategorySeverity.E": "Warning",
"python.linting.flake8CategorySeverity.F": "Warning",
"python.sortImports.path": <isort path>,
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
pyproject.toml
[tool.isort]
profile = 'black'
.flake8
[flake8]
max-line-length = 88
extend-ignore = E203,W503
black
- パスを確認
▶ poetry run which black
- vscode
- black pathに追加
- formatting providerをblackに変更
- black args
-
pyproject.toml
に設定を書いていく
-
flake8
- パスを確認
▶ poetry run which flake8
- vscode
- flake8 pathに追加
- lint.flake8 enabled: Trueに変更
- Severityをお好みで変更(とりあえずWarningにしている)
- flake8 args
-
pyproject.toml
対応していないため、.flake8
ファイルを作成する -
pyproject.toml
に設定を書いていく - using black with other tools を参考に追加していく
-
line-length
: blackのデフォルトが88文字 -
E203
::
の前の空白 -
W503
: 演算子が改行の後にくるようにする
-
# .flake8
[flake8]
max-line-length = 88
extend-ignore = E203,W503
isort
- パスを確認
▶ poetry run which isort
- vscode
- sort imports pathに追加
- コード保存時に自動実行されるように、code actions on saveを編集
# settings.json
{
"python.sortImports.path": <isort path>,
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
- isort config
-
pyproject.toml
対応しているため、blackを使用している旨を宣言 - isort >= 5.0.0 であれば profileを書くだけで十分 (using black with other tools)
-
# pyproject.toml
[tool.isort]
profile = 'black'
references