概要

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.pyrequirements.txt

setup.py は、パッケージのビルドや配布を容易にするためのファイルです。プロジェクトの依存関係やバージョン情報を定義します。また、requirements.txt に開発環境で必要なパッケージを記載しておくことで、開発チーム全体で一貫した依存関係を管理できます。

結論

Pythonプロジェクトの構造は、srcディレクトリにソースコードを配置し、テストや設定ファイルを整理することで、保守性や拡張性が向上します。setup.pyrequirements.txtを使用して、プロジェクトのパッケージングや依存関係の管理を効率化しましょう。