我试图创建使用下面的指南Django的1.4项目开发环境:引导的Django 1.4开发环境,有zc.buildout
http://www.stereoplex.com/blog/a-django-development-environment-with-zc-buildout
的virtualenv部分运行正常与以下输出:
virtualenv project
New python executable in project\Scripts\python.exe
Installing setuptools................done.
Installing pip...................done.
之后,我可以激活开发环境。现在,我创建了一个名为来源目录,下载bootstrap.py它并创建一个buildout.cfg具有以下内容:
[buildout]
parts =
和运行bootstrap.py以下结果:
Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\bin'.
Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\parts'.
Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\eggs'.
Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\develop-eggs'.
Generated script 'C:\\Dropbox\\XYZ\\project\\Source\\bin\\buildout'.
这里谈到的问题的一部分 - 安装的Django我配置buildout.cfg通过引导建立以下和运行BIN \扩建:
[buildout]
parts = django
[django]
recipe = djangorecipe
version = 1.4
运行BIN \扩建我碰到下面的错误后:
(project) C:\Dropbox\XYZ\project\Source>bin\buildout.exe
Traceback (most recent call last):
File "C:\Dropbox\XYZ\project\Source\bin\buildout-script.py", line 15, in <module> import site # imports custom buildout-generated site.py
File "C:\Dropbox\XYZ\project\Source\parts\buildout\site.py", line 601, in <module> main()
File "C:\Dropbox\XYZ\project\Source\parts\buildout\site.py", line 584, in main known_paths = addsitepackages(known_paths)
File "C:\Dropbox\XYZ\project\Source\parts\buildout\site.py", line 328, in addsitepackages import pkg_resources
ImportError: No module named pkg_resources
虽然如果我直接在项目环境中运行python我可以导入通过pkg_resources没有错误:
(project) C:\Dropbox\XYZ\project\Source>python
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
>>> import pkg_resources
>>> pkg_resources
<module 'pkg_resources' from 'C:\Dropbox\XYZ\project\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py'>
我我完全被击中了。有什么建议么?
非常感谢你让我的一天! Bootstrap v1.5.2是个问题。需要Virtualenv来隔离构建包,以便团队可以在不同的分支/项目修改中工作。但是,也许我错了 - 无论如何,我仍然在学习,并将成为我整个人生。 – Ruslan 2012-04-25 13:59:38
Virtualenv不应该提供更多的隔离,比你已经获得的构建。至少,我很确定。 Buildout不会在全球安装任何东西。我一直用它来做不同的分支和项目,所有这些都有自己的扩展。但是...一个额外的virtualenv层不会伤害:-) – 2012-04-25 18:51:00
buildout正在全局安装setuptools,所以需要virtualenv! – holms 2013-09-04 03:14:38