我試圖創建使用下面的指南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