我的django项目的buildout配置问题,没有获得指定版本的django

时间:2013-02-12 15:52:10

标签: python django buildout

我使用zc.buildout安装了easy_install。我在http://jacobian.org/writing/django-apps-with-buildout/使用了教程。

我的问题是, 我无法安装buildout.cfg中指定的版本:

[buildout]
parts = python 
        django
develop = .
versions = versions

eggs = nltk
       html5lib
       pysolr
       python-openid
       django-shorturls

[versions]
django = 1.4.1

[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}

[django]
recipe = djangorecipe

当我尝试./bin/python

>>> import pysolr
>>> pysolr           #  it worked from my buildout 
<module 'pysolr' from '/home/builout-tests/sandbox/eggs/pysolr-3.0.4-py2.7.egg/pysolr.pyc'>
>>> import django
>>> django.VERSION
(1, 3, 1, 'final', 0)  # its my django version in system's python dist-packages
>>> django
<module 'django' from '/usr/lib/python2.7/dist-packages/django/__init__.pyc'>

还有如何为开发和生产版本保留不同版本的python,django,pylsolr,nltk等?

2 个答案:

答案 0 :(得分:0)

尝试在[版本]部分中用Django替换django(带帽D)

答案 1 :(得分:0)

您在[buildout]部分指定的鸡蛋并没有真正做任何事情。通常的做法是将鸡蛋分成几部分,例如[python][django]

所以...修复第一个问题是将eggs = ${buildout:eggs}添加到[django]部分,因为这可能是你想要的。

关于django / Django大/小写版本:有两种解决方案。如果您使用2.0之前的扩展版本,请将extension = buildout-versions添加到[buildout]部分。它打印它选择的版本,它消除了区分大小写。

但最佳选择是使用最新的2.0版本。您可能需要从http://downloads.buildout.org/2/bootstrap.py下载新的bootstrap.py并重新运行bootstrap和bin/buildout。这也消除了不区分大小写。为了更加清晰,请将show-picked-versions = true添加到[buildout]部分,以获得所选版本的精彩列表。通过这种方式更容易发现怪异和意外行为: - )