Zope和buildout:Python模块

2024-06-16 10:05:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用buildout设置了一个Zope安装。对于我的一个Zope产品,我需要一些额外的python模块,所以我想最好不要在系统范围内安装它们,而是在构建中安装。你知道吗

我需要漂亮的soup4,所以我试过了:

[buildout]
parts = ...
        beautifulsoup4

[beautifulsoup4]
recipe = zc.recipe.egg

[zopepy]
...
eggs = ...
       beautifulsoup4

当我运行一个buildout时,我得到消息beautifulsoup4已经安装。偷看一下zopepy就知道了

sys.path[0:0] = [
    ...
    '/opt/Zope2-2.13.21/eggs/beautifulsoup4-4.3.2-py2.7.egg',
    ...

但是当我启动Zope实例时,我得到:ImportError:No module named bs4

在Zope构建中安装其他Python产品的正确方法是什么?你知道吗


Tags: 模块zope消息产品egg系统sysbuildout
1条回答
网友
1楼 · 发布于 2024-06-16 10:05:34

一些必要的更正:

(1)您不需要关心zopepy部分,它只是解释器脚本的一部分,而不是实例本身。如果你在乎系统路径在bin/instance和bin/zopepy脚本中(您应该这样做),确保您在[buildout]eggs=中有这个选项,并确保instance includes中有eggs=选项${建造:鸡蛋}你知道吗

(2)重要的是您的[instance]部件将您的beautifulsoup4 egg添加到其eggs选项中。你知道吗

(3)为了完成上述任务,您不需要[beautifulsoup4]部分,这是不必要的。你知道吗

(4)你真的应该为你的发行版钉一个版本。你知道吗

应该是这样的:

[buildout]
eggs =
    beautifulsoup4
versions = versions

[instance]
recipe = plone.recipe.zope2instance
...
eggs = 
    ${buildout:eggs}

[zopepy]
...
eggs = ${instance:eggs}

[versions]
beautifulsoup4 = 4.3.2

相关问题 更多 >