我用buildout安装了Zope。对于我的一个Zope-产品,我需要一些额外的python-模块,所以我认为它是明智的不是安装在系统范围内,而是在构建。
我需要beautifulsoup4,所以我就是这么做的:
[buildout]
parts = ...
beautifulsoup4
[beautifulsoup4]
recipe = zc.recipe.egg
[zopepy]
...
eggs = ...
beautifulsoup4当我运行构建时,我会收到安装beautifulsoup4的消息。向我看了一眼
sys.path[0:0] = [
...
'/opt/Zope2-2.13.21/eggs/beautifulsoup4-4.3.2-py2.7.egg',
...但是当我启动Zope实例时,我得到: ImportError:没有名为bs4的模块
在Zope构建中安装额外Python产品的正确方法是什么?
发布于 2013-11-19 17:29:17
一些必要的更正:
(1)您不需要关心zopepy部分,它只是解释器脚本的一部分,而不是实例本身的一部分。如果您在bin/实例和bin/zopepy脚本中都关心sys.path (您应该这样做),那么确保在buildout eggs=中包含了这一点,只需确保鸡蛋=选项在实例中包含${buildout:eggs=}
(2)重要的是,您的实例部分将您的beautifulsoup4鸡蛋添加到其鸡蛋选项中。
(3)要完成上述操作,不需要beautifulsoup4部件,这是不必要的。
(4)你真的应该为你的发行准备一个版本。
应该是这样的:
[buildout]
eggs =
beautifulsoup4
versions = versions
[instance]
recipe = plone.recipe.zope2instance
...
eggs =
${buildout:eggs}
[zopepy]
...
eggs = ${instance:eggs}
[versions]
beautifulsoup4 = 4.3.2https://stackoverflow.com/questions/20072106
复制相似问题