概要
Pythonプロジェクトでは、フォルダの構造が保守性や拡張性に大きな影響を与えます。ベストプラクティスに従った構造を採用することで、コードの可読性が向上し、他の開発者がプロジェクトに参加しやすくなります。この記事では、標準的なPythonプロジェクトのフォルダ階層を紹介し、srcディレクトリの使用やテストコードの配置について解説します。
一般的なプロジェクト構造
標準的なPythonプロジェクトのディレクトリ構造は次のようになります。
my_project/
├── src/
│ └── my_package/
│ ├── __init__.py
│ └── main.py
├── tests/
│ ├── __init__.py
│ └── test_main.py
├── README.md
├── setup.py
└── requirements.txt
src フォルダ
- ソースコードは
srcフォルダ内に配置します。これにより、モジュールのパス管理が明確になり、外部のディレクトリが誤ってインポートされるリスクを低減します。
tests フォルダ
- テストコードは
testsフォルダに分けて保管します。pytestなどのテストフレームワークで、テストを容易に実行できるようになります。
トップレベルのファイル
setup.pyはパッケージ化やインストールに使用されるメタデータや依存関係を管理します。README.mdにはプロジェクトの概要や使用方法を記載します。
setup.py と requirements.txt
setup.py は、パッケージのビルドや配布を容易にするためのファイルです。プロジェクトの依存関係やバージョン情報を定義します。また、requirements.txt に開発環境で必要なパッケージを記載しておくことで、開発チーム全体で一貫した依存関係を管理できます。
結論
Pythonプロジェクトの構造は、srcディレクトリにソースコードを配置し、テストや設定ファイルを整理することで、保守性や拡張性が向上します。setup.pyやrequirements.txtを使用して、プロジェクトのパッケージングや依存関係の管理を効率化しましょう。