私はbuildoutとvirtualenvの組み合わせをいじって、再現可能なビルドを実行できるようにするPythonで分離された開発環境をセットアップしています。
virtualenvをビルドアウトに統合できるビルドアウトのレシピがあります。
tl.buildout_virtual_python
これにより、私のbuildout.cfgは次のようになります。
[buildout]
develop = .
parts = script
virtualpython
[virtualpython]
recipe = tl.buildout_virtual_python
headers = true
executable-name = vp
site-packages = false
[script]
recipe = zc.recipe.egg:scripts
eggs = foo
python = virtualpython
これにより、2つの実行可能ファイルが./bin/にデプロイされます。
vp
script
vpを実行すると、期待どおりにインタラクティブな分離されたpythonダイアログが表示されます(システムからパッケージをロードできません)。私が今期待するのは、私が走ったら
./bin/script
分離されたPythonインタープリターが使用されていること。しかし、そうではなく、「vp」のように分離されていません(つまり、システムレベルからライブラリをインポートできます)。しかし、私は実行できます:
./bin/vp ./bin/script
これにより、必要に応じて分離された環境でスクリプトが実行されます。しかし、コマンドをチェーンせずにこれを指定する方法が必要です。そうしないと、ビルドアウトは私が望んでいた問題の半分しか解決しません:)
ご協力いただきありがとうございます!パトリック