virtualenv には、さらにいくつかのフックを使用して自身のコピーを作成するという優れた機能があります。あなたの場合、重要なフックは after_install で、virtualenv がインストールされた直後に実行されます。
次の内容のスクリプトを作成するだけです。
import os, virtualenv
extra_text = """
import os, subprocess
def after_install(options, home_dir):
subprocess.call([
os.path.join(home_dir, 'bin', 'pip'),
'install',
'-r',
'relative_path_from_env_home_to_requirements_file',
])
def adjust_options(options, args):
if not args: args.append('.')
"""
output = virtualenv.create_bootstrap_script(extra_text)
open('bootstrap.py', 'w').write(output)
そしてそれを実行します。bootstrap.pyvirtualenv と必要なパッケージの両方をブートストラップするために仲間が実行する必要があるファイルを作成します。
./bootstrap.py --no-site-packages
virtualenv はプロジェクトのルートに作成されるため、コミットする前に作成されたディレクトリを svn:ignore または .gitignore してください。
これの唯一の欠点は、知る限りそれが virtualenvwrapper と統合されていないことです。とにかく、これの存在理由はプロジェクトに環境を用意することであり、virtualenvwrapper の理由はホームディレクトリに環境を用意することです。