82 lines
1.7 KiB
Markdown
82 lines
1.7 KiB
Markdown
# Python Project
|
||
|
||
## 仮想環境を構築する
|
||
|
||
### venvで構築する
|
||
|
||
```sh
|
||
python3 -m venv .venv
|
||
# Linux
|
||
source .venv/bin/activate
|
||
# Windows
|
||
# .venv/Scripts/activate
|
||
|
||
pip install -r requirements.txt
|
||
# For Develop(Tests,Docs)
|
||
pip install -r requirements-dev.txt
|
||
```
|
||
|
||
### uvで構築する
|
||
|
||
プロジェクトを生成する場合
|
||
|
||
```bash
|
||
uv init <ProjectName>
|
||
# --pythonまたは-pにバージョンを指定できます
|
||
# uv init <ProjectName> -p 3.10とすると">=3.10,<3.11"となる
|
||
```
|
||
|
||
同期する場合
|
||
|
||
```sh
|
||
uv sync
|
||
```
|
||
|
||
## Linter
|
||
|
||
### ruffライブラリの場合
|
||
|
||
RuffFlake8 のルールを多数サポートしています。
|
||
ruff.tomlで設定できます
|
||
|
||
|
||
```toml
|
||
select = ["E", "W"]
|
||
line-length = 88
|
||
```
|
||
|
||
|
||
| 分類 | コード | 内容 |
|
||
| ---- | ------ | ----------------------------------- |
|
||
| W | W291 | 末尾スペース(trailing whitespace) |
|
||
| | W293 | ファイル末尾の空行の空白 |
|
||
| E | E303 | 空行が多すぎる |
|
||
| | E501 | 行が長すぎる |
|
||
|
||
|
||
リンターを実行する場合
|
||
|
||
```sh
|
||
# プロジェクト全体のPythonファイルを確認する
|
||
ruff check .
|
||
# ソースコードのみ実行する場合
|
||
ruff check src
|
||
```
|
||
|
||
**レポートを生成する場合**
|
||
|
||
シンプルなレポートとしては`generate_linter.sh`を実行してください
|
||
|
||
```sh
|
||
sh scripts/generate_linter.sh
|
||
```
|
||
|
||
形式を指定して出力する方法
|
||
|
||
```sh
|
||
ruff check . --output-format json --output-file ruff-report.json
|
||
```
|
||
|
||
`--output-file`は`github`など様々な形式が指定できます
|
||
|
||
コメントを生成する方法を検討が必要 |