我运行了bin/buildOut安装普通键并遇到了数十个语法错误,然后失败了 - 但是为什么



我正在遵循建立开发环境的说明,该说明可以在本书的开头专业Plone 4开发的开头找到。我采取了以下步骤。

首先,我创建了一个称为pln的Virtualenv,一个项目目录也称为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

第四,我从http://svn.plone.org/svn/plone/buildouts/plone-coredev/branches/4.2/bootstrap.py

下载了bootstrap.py

第五,我运行了命令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 0n'))

最后,运行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/distrance尝试预编译某些Python脚本。你 可以安全地忽略这些。它们是因为这些脚本是 不是普通的Python模块,而是要执行的脚本 在Zope的不受信任的脚本环境中。

  • Aspeli,Martin(2011-08-26)。专业Plone 4开发(第38页)。Packt Publishing。Kindle Edition。

但是,我仍然不确定bin/buildout为什么失败。我只是再次尝试了所有新鲜事物,我得到了这个错误:

尽管:  安装。  获取截面实例。  初始化部分实例。  安装食谱Plone.Recipe.Zope2Instance。  获得" docutils == 0.9.1"的分布。由于zc.buildout或在使用食谱:Trackback(最近的最新电话):  file"/users/jon/dev/pl/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/buildout/buildout/buildout.py.py",第1683行,在Main    getAttr(buildOut,命令)(args)  文件"/user/jon/dev/pl/pl/eggs/zc.buildout-1.4.4-py2.7.egg/zc/zc/buildout/buildout/buildout.py.py",第439行,    [self [part] ['recipe'] install_parts中的一部分]**省略了50条左右的堆栈跟踪线**  file"/usr/local/cellar/python/2.7.3/frameworks/python.framework/dervers/versions/2.7/lib/python2.7/httplib.py",第365行,in _read_status    line = self.fp.Readline()  file"/usr/local/cellar/python/2.7.3/frameworks/python.framework/derversions/2.7/lib/python2.7/socket.py.py",第447行,in Readline    data = self._sock.recv(self._rbufsize)超时:超时

编辑:好的,我已经弄清楚了整个过程不适用于Plone 4.2。只需将所有内容做4.1,它将bin/buildout完成而不会崩溃。

在我看来,您正在使用系统python而不是Virtualenv Python。您是否使用Virtualenv Python来引导您的建筑物?

您刚刚提到运行" Python Bootstrap.py"。因此,除非您运行"来源的myvirtualenvdir/bin/activate",否则您调用了系统python。如果您使用PIP或EasyInstall在系统中安装了模块,则其中一些模块可能与您的堆积发生冲突并导致一些奇怪的错误。

btw,正如其他人指出的那样,超时也可能是由服务器或网络错误引起的。

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

相关内容

最新更新