gpt4 book ai didi

python - PostgreSQL FDW 扩展 Multicorn - "Error in python: ImportError"

转载 作者:行者123 更新时间:2023-11-29 13:59:53 33 4
gpt4 key购买 nike

我正在尝试安装 Multicorn PostgreSQL 9.3.3 上的扩展,但我遇到的问题是此扩展仅适用于 Python 2.7 或 3.3,而我的操作系统 (Centos 6.5) 上的默认 python 版本是 2.6,我无法在不破坏整个系统的情况下更改它。

我已经在默认版本旁边安装了 python 2.7,并从 source 编译了 Multicorn 扩展。将 makefile 中的 python 引用/路径更改为 python 2.7,但是我在 Postgres 中使用扩展时遇到问题。

创建扩展命令工作得很好:

CREATE EXTENSION multicorn;

创建服务器,但是失败了:

CREATE SERVER csv_srv foreign data wrapper multicorn options (wrapper 'multicorn.csvfdw.CsvFdw');
ERROR: Error in python: ImportError
DETAIL: No module named multicorn

是否有解决此问题的方法或至少提示要寻找什么?

我的假设是,即使扩展本身是根据对 python 2.7 的引用编译的,并且所有文件都复制到正确的文件夹 /usr/local/lib/python2.7/dist-packages/multicorn-1.0。 2-py2.7-linux-x86_64.egg/multicorn,PostgreSQL本身仍然使用系统默认的python 2.6版本,因此加载模块失败。有什么方法可以覆盖 Postgres 使用的 python 版本吗?这样能解决问题吗?

最佳答案

您需要针对 Python 2.7 重新编译 PL/Python。

现在 PL/Python 将继续使用 Python 2.6。它们不是二进制兼容的,并且有单独的 sonames,libpython2.7.solibpython2.6.so。因此,仅更改 PATHLD_LIBRARY_PATH 将无济于事。

我会通过下载 PostgreSQL SRPM、修改规范文件使其以 python 2.7 为目标并重建 RPM 来完成此操作。

关于python - PostgreSQL FDW 扩展 Multicorn - "Error in python: ImportError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22638392/

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