1

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 等?

4

2 回答 2

0

您在您的[buildout]角色中指定的鸡蛋并没有真正做任何事情。通常的做法是把你需要的鸡蛋分成几个部分放在那里,就像你[python][django]情况一样。

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

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

不过,最好的选择是使用最新的 2.0 版本。您可能必须bootstrap.pyhttp://downloads.buildout.org/2/bootstrap.py下载新的并重新运行 bootstrap 和bin/buildout. 这也消除了不区分大小写的问题。为了更清楚,添加show-picked-versions = true到您的[buildout]部分以获得精选版本的漂亮列表。这样更容易发现怪异和意外行为:-)

于 2013-02-12T20:58:48.853 回答
0

尝试在 [versions] 部分中用 Django 替换 django(使用大写字母 D)

于 2013-02-12T16:32:44.653 回答