gpt4 book ai didi

python路径问题: ImportError when calling zodbconvert (FreeBSD 8. 1)

转载 作者:太空宇宙 更新时间:2023-11-04 09:18:19 25 4
gpt4 key购买 nike

我猜这是一个 python 路径问题(在 FreeBSD 8.1 上)。

我正在尝试使用 zodbconvert 将 Data.fs 转换为 Postgresql。我已经下载了 RelStorage-1.5.0b2 并且正在运行:

/usr/local/Plone/Python-2.6/bin/python zodbconvert.py fstodb.conf

,使用 Plone 运行的版本。

我得到的错误:

Traceback (most recent call last):
File "zodbconvert.py", line 22, in <module>
from persistent.TimeStamp import TimeStamp
ImportError: No module named persistent.TimeStamp

版本:

  • Plone 4.0.5(python 2.6)
  • PostgreSQL 9.0.3
  • FreeBSD 8.1
  • python26-2.6.6_1
  • python27-2.7.1_1

PS 默认“python --version”为 2.7.1

谢谢。尼古拉·G.

最佳答案

如果您正在使用 buildout(我希望您是),将所有 zodbconvert 依赖项正确包含在 python 路径中的最简单方法是让 buildout 为您创建脚本:

[buildout]
...
parts =
...
zodbconvert

[zodbconvert]
recipe = zc.recipe.egg
eggs = ${buildout:eggs}
scripts = zodbconvert

Buildout 然后将为您创建一个新的 bin/zodbconvert 脚本,其中包括 sys.path 中的所有 buildout egg。

或者,您可以创建一个通用的 python 脚本运行器,它包含您构建中的所有 egg,并且可以运行任意脚本;您可以使用它而不是简单的 python 解释器来运行任意 python 脚本,其中包含 sys.path 中的所有构建鸡蛋:

[buildout]
...
parts =
...
zopepy

[zopepy]
recipe = zc.recipe.egg
eggs = ${buildout:eggs}
interpreter = zopepy
scripts = zopepy

然后,bin/zopepy 脚本可用于运行任意 python 脚本,所有构建鸡蛋都已在 sys.path 中,因此 bin/zopepy zodbconvert .py fstodb.conf 应该可以工作。

请注意,Plone 统一安装程序已经包含了 zopepy 部分,我为这个脚本选择的部分名称是故意使用相同的名称。

如果您没有使用 buildout(对于 Plone 4,这总体上不是一个好主意),您还可以列出所需的包(ZODB3、zope.interface、RelStorage、psycopg2)在您的 PYTHONPATH 环境变量中。

关于python路径问题: ImportError when calling zodbconvert (FreeBSD 8. 1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com