Python アプリケーションに最適なプロジェクト構造は何ですか? [closed] 質問する

Python アプリケーションに最適なプロジェクト構造は何ですか? [closed] 質問する

Python で重要なエンドユーザー デスクトップ (Web ではない) アプリケーションを開発したいとします。プロジェクトのフォルダー階層を構造化する最適な方法は何でしょうか。

望ましい機能は、メンテナンスの容易さ、IDE との親和性、ソース管理の分岐/マージへの適合性、インストール パッケージの容易な生成などです。

特に:

  1. ソースはどこに置きますか?
  2. アプリケーションの起動スクリプトはどこに置きますか?
  3. IDE プロジェクトの残り物をどこに置きますか?
  4. ユニットテストや受け入れテストはどこに置きますか?
  5. 設定ファイルなどの Python 以外のデータはどこに置きますか?
  6. pyd/so バイナリ拡張モジュールの C++ などの Python 以外のソースはどこに置きますか?

ベストアンサー1

あまり重要ではありません。あなたが幸せになれるものであれば何でもいいです。Python プロジェクトは単純なものなので、ばかげたルールはあまりありません。

  • /scriptsあるいは/binコマンドラインインターフェースのようなもの
  • /testsテストのために
  • /libC言語ライブラリ用
  • /docほとんどのドキュメント
  • /apidocEpydoc で生成された 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 への追加を省略しています。

おすすめ記事