試著在 Windows 建立 Plone 4.1.2 的 Buildout 專案環境,事先要安裝 Python 2.6.7、PyWin32、PIL 1.1.6、easy_install、Subversion、Git。再下載安裝 zopeskel:
C:\> easy_install zopeskel
接著,可以用 zopeskel 來建立 Buildout 專案,範例指令如下:
C:\> mkdir Plone C:\> cd Plone C:\Plone> zopeskel basic_buildout basic_buildout: A basic buildout skeleton This creates a basic skeleton for a buildout. Enter project name: myproj If at any point, you need additional help for a question, you can enter '?' and press RETURN. Expert Mode? (What question mode would you like? (easy/expert/all)?) ['easy']:
如果遇到下列訊息,可以予以略過不理會:
UserWarning: You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper. You don't have the C version of NameMapper installed!
剛建立的 myproj 專案目錄裡,只有 bootstrap.py 和 buildout.cfg 兩個檔案,執行 python bootstrap.py 之後,會建立必要的目錄架構,特別是 bin 目錄裡會建立 buildout 工具程式,額外的撇步是指定 zc.buildout 版本是 1.4.4,不然預設裝的 1.5.2 版本會造成衝突,範例訊息如下:
C:\Plone\myproj> python bootstrap.py -v 1.4.4 Downloading http://pypi.python.org/packages/2.6/s/setuptools/setup tools-0.6c11-py2.6.egg Creating directory 'C:\\Plone\\myproj\\bin'. Creating directory 'C:\\Plone\\myproj\\parts'. Creating directory 'C:\\Plone\\myproj\\eggs'. Creating directory 'C:\\Plone\\myproj\\develop-eggs'. Getting distribution for 'setuptools'. Got setuptools 0.6c12dev-r88846. Generated script 'C:\\Plone\\myproj\\bin\\buildout'.
預設的 buildout.cfg 檔案內容如下:
[buildout] parts = templer [templer] recipe = zc.recipe.egg eggs = PasteScript templer.core
不過,我並沒使用這個 buildout.cfg 內容,而是直接複製 Linux 環境上安裝的 *.cfg 檔案,修改 base.cfg 和 lxml_static.cfg 的 eggs-directory 和 download-cache 配合 Windows 環境的目錄,再執行 buildout:
C:\Plone\myproj> bin\buildout -c develop.cfg mr.developer: Creating missing sources dir C:\Plone\myproj\src. Getting distribution for 'zc.recipe.egg==1.2.2'. Got zc.recipe.egg 1.2.2. Getting distribution for 'plone.recipe.zope2instance==4.1.9'. Got plone.recipe.zope2instance 4.1.9. Getting distribution for 'Zope2==2.13.10'. Installing Zope2 2.13.10 Caused installation of a distribution: zope2 2.13.10 with a different project name. Got zope2 2.13.10. Getting distribution for 'mailinglogger==3.3.3'. Got mailinglogger 3.3.3. Getting distribution for 'nt-svcutils==2.13.0'. Got nt-svcutils 2.13.0. Getting distribution for 'Products.StandardCacheManagers==2.13.0'. Installing Products.StandardCacheManagers 2.13.0 Caused installation of a distribution: products.standardcachemanagers 2.13.0 with a different project name. Got products.standardcachemanagers 2.13.0. Getting distribution for 'Products.PythonScripts==2.13.0'. ...
安裝 Pillow 時,需要安裝 Visual Studio 2008 Express,據說 2008 之外的版本並不行:
error: Setup script exited with error: Unable to find vcvarsall.bat An error occured when trying to install Pillow 1.7.2. Look above this message fo r any errors that were output by easy_install. While: Installing instance. Getting distribution for 'Pillow==1.7.2'. Error: Couldn't install: Pillow 1.7.2
編譯 lxml 如果遇到錯誤,要補足需要的檔案,以 Plone 4.1.3 為例,要下載 lxml 2.3.2 的原始碼。如果沒成功的話,還可以試試直接安裝較低的 lxml 版本。