2011-01-29 5 views
7

は私がビルドアウトに完全に切り替えるしようとしています - しかし、私たちの開発環境は、すでに多くのものは、私がビルドアウトがすでにシステムにインストールされたライブラリを使用していないことを確認することができますどのようにbuildoutで既にインストールされているパッケージを使用しないことを確認するには?

/usr/lib/pythonxx/にインストールされている - 結局virtualenvのなし?

たとえば、この現象を回避するにはどうすればよいですか? :

> cat buildout.cfg 
[buildout] 
parts = django 

[django] 
recipe = zc.recipe.egg 
eggs = django 
interpreter = django 

>bin/django 

>>> import django 
>>> django 
<module 'django' from '/usr/lib/python2.6/site-packages/django/__init__.pyc'> 
>>> 

は/usr/lib/python2.6に設置された卵を使用しないようにビルドアウトを強制する方法はありますか?

答えて

9

サイト-pakagesこれら2つのディレクティブの1とか使用したい場合は、ビルドアウトを伝えることができます:

あなたはその後、含ま-部位特異的に使用することができます増築documentationからinclude-site-packagesallowed-eggs-from-site-packages

パッケージ = falseとexec-sitecustomize = false buildoutオプションを使用して、 をPythonのサイトパッケージに適用し、 が存在する場合は、 はsitecustomizeファイルを実行しません。

代わりに、あなたは のsite-packagesから来るかもしれない卵のグロブ意識 ホワイトリストとして 許さ-卵-から-のsite-packages ビルドアウトオプションを使用することができます。この値のデフォルトは "*"で、すべての卵を受け入れます。

+0

これらのオプションは、zc.recipe.scgの代わりにz3c.recipe.scriptsを使用した場合にのみ機能します。これが私の間違ったことの結果であるかどうかは分かりませんが、おそらくそれは誰かにとって有用なものになるでしょう。 – Daniel

+0

私はビルドアウトのためにピピのページでこの重要な情報しか見つけられませんでした。 docs @ http://www.buildout.org/docs/に言及していないようです(それが検索されているか検索が壊れています)。なぜこれがデフォルトのバッフルではないのですか?しかし、私はそれを完全に意図された構築物ではないかもしれないステロイドについてvirtualenvとして見ている。 –

+0

はいこれも混乱しています.pipiのreadmeは実際は完全なドキュメントであり、 'buildout.org/docs'のドキュメントはほんの一部のトピックをカバーしています。 – Ski

3

二つの方法:

  • は、最新の1.5.somethingビルドアウトを使用します。彼らは、デフォルトでは、システムのパッケージを使用しないでください。

  • ブートストラップコマンドを-sフラグ:python bootstrap.py -s(「サイトパッケージなし」)を指定して実行します。お使いのシステムのpythonから卵を除外するためのオプションが付属して、私は増築1.5の前に使用しなかった

0

一つの代替では、我々は、ブートストラップを取得し、環境を作成virtualenvのカスタムブートストラップを書く

virtualenvの

ました.pyと最小限のbuildout.cfgを入れていますが、通常はvirtualenvを使用することができます。

cd project virtualenv --no-site-packages ./ 
wget http://...../bootstrap.py 
touch buildout.cfg 
source bin/activate 
python bootstrap.py 
bin/buildout 

と出来上がり、VIを用いて単離し、あなたの増築rtualenv

関連する問題