最近、Python をはじめ、他の言語でも開発環境の構築を自動化することが注目されています。そのため、要件に応じてさまざまなソリューションを利用できます。
一般に、これらのソリューションにはトレードオフがあります。特定のソリューションが提供する分離が大きいほど、オーバーヘッドが大きくなります。以下は、私が試して有用であると判断したものの非独占的なリストです。このリストは分離の昇順であるため、オーバーヘッドが大きくなります。
1)生地
「ローカルまたはリモートのシェル コマンドを (通常または sudo 経由で) 実行し、ファイルをアップロード/ダウンロードするための基本的な一連の操作に加えて、実行中のユーザーに入力を促す、実行を中止するなどの補助機能を提供します。」
2)クッキーカッター
「cookiecutters (プロジェクト テンプレート) からプロジェクトを作成するコマンド ライン ユーティリティ。たとえば、Python パッケージ プロジェクト、jQuery プラグイン プロジェクト。」
3)ドッカー
「あらゆるアプリケーションを軽量コンテナとしてパック、出荷、実行するためのオープン ソース プロジェクトです。」
4)浮浪者
「軽量で再現性があり、移植可能な開発環境を作成して構成します。」
完全を期すために Vagrant を含めました。これは基本的に、仮想マシンをプログラムで作成するためのツールであるため、リストの一番下にあります。あなたが言及したように、独自の OS や API スタックなどを使用した VM のオーバーヘッドにあまり興奮していない場合は、最初の 3 つのオプションのいずれかを選択する必要があります。これらはすべて、DRY などである程度 Pythonic です。
個人的には、あなたの問題ステートメントから収集できる限られた視点に基づいて、cookiecutterを調べます。