zc.buildout でカスタム PYTHON_EGG_CACHE ディレクトリを指定しますか?
-
26-09-2019 - |
質問
zc.buildout を使用する多くのプロジェクトをデプロイしようとすると問題が発生します。具体的には、zc.buildout を PYTHON_EGG_CACHE
番組中のディレクトリ。何らかの方法でこのディレクトリをビルドアウト プロジェクトと同じレベルに設定したいと考えています。 eggs
見つけることができます。
これは Plone プロジェクトで実行できるというオンライン上の言及がありますが、Plone なしでこれを実行することは可能ですか?
環境変数を設定できるレシピがいくつかあります。 PYTHON_EGG_CACHE
の実行可能ファイル ./bin
?
解決
何を言っているのか分かりません。通常は次の 3 つのオプションがあります。
デフォルトでは、Buildout は卵を次のディレクトリに保存します。
eggs/
ビルドアウトディレクトリ内。設定できるのは、
eggs-dir
buildout.cfg 内の変数[buildout]
セクションをいくつかのディレクトリに移動します。どこに置くかを指示するだけです。まったく同じオプションを次のように設定することもできます
.buildout/defaults.cfg
ホームディレクトリ内。こうすることで、すべてのプロジェクトにデフォルトを設定できます。すべての卵を 1 か所に保管するのに便利です。たとえば、ダウンロード時間を大幅に節約できます。
そのうちの 1 つ (特に最後のもの) は、あなたが望んでいることを達成できますか?
そして:生成されたファイル内の卵をいじらないでください。 bin/*
ファイル。ブルアウトに卵を選んでもらいましょう、それが目的です。
他のヒント
PYTHON_EGG_CACHEのみzip形式の卵のために使用されている、あなたの最善の策は、必要なすべての卵をインストールzc.buildout持つことで解凍します:
[buildout]
...
unzip = true
お使いのシステムのpythonは、リソースへのアクセスのために解凍し、そしてあなたのスクリプトでPYTHON_EGG_CACHEを設定する(ユーザーの環境変数を設定することではなく)あなたの唯一のオプションでまだ必要とすることをインストールzip形式の卵を持っている場合は、は、あなたがinitialization
を使用することを試みることができますzc.recipe.eggのオプションは任意のPythonコードをスクリプトに追加します:
[a-part]
recipe = zc.recipe.egg
...
initialization =
import os
os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'