如何通过Buildout实现纯隔离

时间:2013-01-04 01:21:13

标签: python django virtualenv buildout

在过去的一周里,我一直在努力通过buildout获得纯粹的隔离。我要做的是安装Django和我的项目需要的其他鸡蛋,而不是任何系统安装的

我理解在herehere之前已经问过这个问题,但这些问题的答案对我不起作用。

我的问题:如何配置zc.buildout为基于Django的项目提供纯包隔离?

注意:

  • 虽然在不同的地方提到过,但这绝对不是zc.buildout的默认设置(从zc.buildout 1.6.x开始)
  • 没有允许您执行此操作的buildout选项。
  • z3c.recipe.scripts个选项允许您为python解释器执行此操作,但djangorecipe不使用z3c.recipe.scripts,因此./bin/django shell可以访问所有系统包。

1 个答案:

答案 0 :(得分:2)

使用virtualenv实现隔离:

pip install virtualenv
virtualenv django_buildout
cd django_buildout
bin/pip install zc.buildout
bin/buildout init

zc.buildout让你有意重用现有的鸡蛋,它的目的是满足建筑物设定的要求。你应该把所有版本都固定下来,不要让buildout为你挑选它们:

[buildout]
versions = versions
allow-picked-versions = false

[versions]
zc.buildout = 1.6.3
# etc.