我运行bin/buildout来安装Plone,发现了几十个语法错误,然后失败了——但为什么呢?

我运行bin/buildout来安装Plone,发现了几十个语法错误,然后失败了——但为什么呢?,plone,buildout,Plone,Buildout,我将按照《专业Plone 4开发》一书开头的说明设置开发环境。我采取了以下步骤 首先,我创建了一个名为pln的虚拟电视和一个名为pln的项目目录 其次,我将PIL安装到plnvirtualenv中 第三,我创建了一个buildout.cfg文件,其中包含以下内容: [buildout] extends = http://dist.plone.org/release/4.2/versions.cfg parts = instance [instance] recipe = plone.recipe

我将按照《专业Plone 4开发》一书开头的说明设置开发环境。我采取了以下步骤

首先,我创建了一个名为
pln
的虚拟电视和一个名为
pln
的项目目录

其次,我将PIL安装到
pln
virtualenv中

第三,我创建了一个
buildout.cfg
文件,其中包含以下内容:

[buildout]
extends = http://dist.plone.org/release/4.2/versions.cfg
parts = instance
[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
eggs = Plone
第四,我从

第五,我运行了命令
python bootstrap.py--distribute
,它给出了以下输出:

Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.29.tar.gz
Extracting in /var/folders/xk/5xt9s5vd4bqd731qdkmxkxyr0000gn/T/tmpwMBNe9
Now working in /var/folders/xk/5xt9s5vd4bqd731qdkmxkxyr0000gn/T/tmpwMBNe9/distribute-0.6.29
Building a Distribute egg in /var/folders/xk/5xt9s5vd4bqd731qdkmxkxyr0000gn/T/tmpKSPdWX
/var/folders/xk/5xt9s5vd4bqd731qdkmxkxyr0000gn/T/tmpKSPdWX/distribute-0.6.29-py2.7.egg
Creating directory '/Users/Jon/dev/pln/bin'.
Creating directory '/Users/Jon/dev/pln/parts'.
Creating directory '/Users/Jon/dev/pln/eggs'.
Creating directory '/Users/Jon/dev/pln/develop-eggs'.
Generated script '/Users/Jon/dev/pln/bin/buildout'.
第六,我从项目目录运行命令
bin/buildout
。在一段时间内,一切似乎都正常工作,但随后我开始收到大量类似以下内容的错误消息:

SyntaxError: ("'return' outside function", ('build/bdist.macosx-10.8-x86_64/egg/Products/kupu/plone/kupu_plone_layer/convertContentForKupu.py', 23, None, 'return str(content)\n'))

SyntaxError: ("'return' outside function", ('/Users/Jon/dev/pln/eggs/tmpEwAZSu/Products.CMFPlone-4.2.0.1-py2.7.egg/Products/CMFPlone/skins/plone_scripts/redirectToReferrer.py', 18, None, 'return request.RESPONSE.redirect(target_url)\n'))

SyntaxError: ("'return' outside function", ('build/bdist.macosx-10.8-x86_64/egg/Products/Archetypes/skins/archetypes/unicodeTestIn.py', 11, None, 'return 0\n'))
最后,运行
bin/buildout
失败,出现以下错误:

While: Installing instance.
Getting distribution for 'plone.outputfilters==1.3'.

An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/Users/Jon/dev/pln/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py", line 1683, in main
    getattr(buildout, command)(args)
File "/Users/Jon/dev/pln/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py", line 555, in install
    installed_files = self[part]._call(recipe.install)

[about 50 lines of stack trace admitted for brevity...]

File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 365, in _read_status
line = self.fp.readline()
File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 447, in readline
data = self._sock.recv(self._rbufsize)

error: [Errno 54] Connection reset by peer
为什么一端的对等端会重置连接?这是哪一位,我如何控制这样的错误

事先非常感谢您的帮助。

从《专业Plone 4开发》一书中,我找到了出现语法错误的原因:

您可能还会看到一些关于“语法错误”的警告在 Setuptools/Distribute尝试预编译某些Python脚本。你 我们完全可以忽略这些。之所以发布这些脚本,是因为 不是普通的Python模块,而是要执行的脚本 在Zope的不可信脚本环境中

  • 阿斯佩利,马丁(2011-08-26)。专业Plone 4发展(第38页)。Packt出版公司。Kindle版
然而,我仍然不确定为什么
bin/buildout
失败。我刚刚用所有新鲜的东西再试了一次,结果出现了以下错误:

While: Installing. Getting section instance. Initializing section instance. Installing recipe plone.recipe.zope2instance. Getting distribution for 'docutils==0.9.1'. An internal error occured due to a bug in either zc.buildout or in a recipe being used: Traceback (most recent call last): File "/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py", line 1683, in main getattr(buildout, command)(args) File "/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py", line 439, in install [self[part]['recipe'] for part in install_parts] ** 50 OR SO LINES OF STACK TRACE OMITTED FOR BREVITY ** File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 365, in _read_status line = self.fp.readline() File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 447, in readline data = self._sock.recv(self._rbufsize) timeout: timed out 而: 安装。 获取节实例。 正在初始化节实例。 正在安装配方plone.recipe.zope2instance。 正在获取“docutils==0.9.1”的分发。 由于zc.buildout或中的错误而发生内部错误 正在使用的配方: 回溯(最近一次呼叫最后一次): 文件“/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py”,第1683行,主文件 getattr(构建,命令)(args) 文件“/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py”,第439行,安装中 [self[part]['recipe']用于安装零件中的零件] **为了简洁起见,省略了50行左右的堆栈跟踪** 文件“/usr/local/ceral/python/2.7.3/Frameworks/python.framework/Versions/2.7/lib/python2.7/httplib.py”,第365行,处于“读取”状态 line=self.fp.readline() readline中的文件“/usr/local/ceral/python/2.7.3/Frameworks/python.framework/Versions/2.7/lib/python2.7/socket.py”,第447行 数据=self.\u sock.recv(self.\r bufsize) 超时:超时 编辑:好吧,我已经发现整个事情都不适用于Plone 4.2。只需将所有内容改为4.1,它将
bin/buildout
完成而不会崩溃。

从《专业Plone 4开发》一书中,我找到了为什么会出现语法错误的答案:

您可能还会看到一些关于“语法错误”的警告在 Setuptools/Distribute尝试预编译某些Python脚本。你 我们完全可以忽略这些。之所以发布这些脚本,是因为 不是普通的Python模块,而是要执行的脚本 在Zope的不可信脚本环境中

  • 阿斯佩利,马丁(2011-08-26)。专业Plone 4发展(第38页)。Packt出版公司。Kindle版
然而,我仍然不确定为什么
bin/buildout
失败。我刚刚用所有新鲜的东西再试了一次,结果出现了以下错误:

While: Installing. Getting section instance. Initializing section instance. Installing recipe plone.recipe.zope2instance. Getting distribution for 'docutils==0.9.1'. An internal error occured due to a bug in either zc.buildout or in a recipe being used: Traceback (most recent call last): File "/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py", line 1683, in main getattr(buildout, command)(args) File "/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py", line 439, in install [self[part]['recipe'] for part in install_parts] ** 50 OR SO LINES OF STACK TRACE OMITTED FOR BREVITY ** File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 365, in _read_status line = self.fp.readline() File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 447, in readline data = self._sock.recv(self._rbufsize) timeout: timed out 而: 安装。 获取节实例。 正在初始化节实例。 正在安装配方plone.recipe.zope2instance。 正在获取“docutils==0.9.1”的分发。 由于zc.buildout或中的错误而发生内部错误 正在使用的配方: 回溯(最近一次呼叫最后一次): 文件“/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py”,第1683行,主文件 getattr(构建,命令)(args) 文件“/Users/Jon/dev/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout.py”,第439行,安装中 [self[part]['recipe']用于安装零件中的零件] **为了简洁起见,省略了50行左右的堆栈跟踪** 文件“/usr/local/ceral/python/2.7.3/Frameworks/python.framework/Versions/2.7/lib/python2.7/httplib.py”,第365行,处于“读取”状态 line=self.fp.readline() readline中的文件“/usr/local/ceral/python/2.7.3/Frameworks/python.framework/Versions/2.7/lib/python2.7/socket.py”,第447行 数据=self.\u sock.recv(self.\r bufsize) 超时:超时
编辑:好吧,我已经发现整个事情都不适用于Plone 4.2。只需将所有内容改为4.1,它将
bin/buildout
不会崩溃。

在我看来,您使用的是系统python而不是virtualenv python。您是否使用virtualenv python引导构建

您刚才提到运行“python bootstrap.py”。因此,除非运行“source MyVirtualEnvDir/bin/activate”,否则将调用系统python。如果您使用pip或easyinstall在系统python中安装了模块,那么其中一些模块可能会与构建冲突,并导致一些奇怪的错误

顺便说一句,正如其他人所指出的,超时也可能是由服务器或网络错误引起的


有什么原因不能只使用统一安装程序吗?它是最容易使用的,您仍然可以使用它来尝试Martin书中建议的活动。

在我看来,您使用的是系统python而不是virtualenv python。您是否使用virtualenv python引导构建

您刚才提到运行“python bootstrap.py”。所以除非你