Python で重要なエンドユーザー デスクトップ (Web ではない) アプリケーションを開発したいとします。プロジェクトのフォルダー階層を構造化する最適な方法は何でしょうか。
望ましい機能は、メンテナンスの容易さ、IDE との親和性、ソース管理の分岐/マージへの適合性、インストール パッケージの容易な生成などです。
特に:
- ソースはどこに置きますか?
- アプリケーションの起動スクリプトはどこに置きますか?
- IDE プロジェクトの残り物をどこに置きますか?
- ユニットテストや受け入れテストはどこに置きますか?
- 設定ファイルなどの Python 以外のデータはどこに置きますか?
- pyd/so バイナリ拡張モジュールの C++ などの Python 以外のソースはどこに置きますか?
ベストアンサー1
あまり重要ではありません。あなたが幸せになれるものであれば何でもいいです。Python プロジェクトは単純なものなので、ばかげたルールはあまりありません。
/scripts
あるいは/bin
コマンドラインインターフェースのようなもの/tests
テストのために/lib
C言語ライブラリ用/doc
ほとんどのドキュメント/apidoc
Epydoc で生成された API ドキュメント用。
最上位ディレクトリには、README や Config などを含めることができます。
難しい選択は、ツリーを使用するかどうかです。Python には、 Java や C のような、、/src
の区別がありません。/src
/lib
/bin
トップレベル/src
ディレクトリは意味がないと考える人もいるため、トップレベル ディレクトリはアプリケーションのトップレベル アーキテクチャになる場合があります。
/foo
/bar
/baz
これらすべてを「製品名」ディレクトリの下に置くことをお勧めします。つまり、 という名前のアプリケーションを作成している場合quux
、これらすべてを含むディレクトリの名前は になります/quux
。
PYTHONPATH
その後、別のプロジェクトの をinclude してモジュール/path/to/quux/foo
を再利用できるようになりますQUUX.foo
。
私の場合、Komodo Edit を使用しているため、IDE cuft は単一の .KPF ファイルです。実際には、これを最上位/quux
ディレクトリに配置し、SVN への追加を省略しています。