如何修复这个 python 依赖项?

Posted

技术标签:

【中文标题】如何修复这个 python 依赖项?【英文标题】:How can I fix this python dependency? 【发布时间】:2013-12-11 15:05:54 【问题描述】:

我刚刚为 os x 下载了 greenplum。当我尝试启动数据库时,我收到了这个错误——我认为这意味着它缺少 gppylib。

/usr/local/greenplum$ bin/gpstart
Traceback (most recent call last):
  File "bin/gpstart", line 9, in <module>
    from gppylib.mainUtils import *
ImportError: No module named gppylib.mainUtils

这是文件中导致错误的行:

from gppylib.mainUtils import *

我尝试了pip install gppylibpip install gppylib.mainUtils,但都找不到包。我在谷歌上找不到包裹。

我是否正确理解 python 正在寻找一个名为 gppylib 的包?如果有,在哪里可以找到?

【问题讨论】:

这段代码从何而来?也许有提示在哪里可以找到所需的依赖项。 【参考方案1】:

这对我有用:

source $GPHOME/greenplum_path.sh

【讨论】:

【参考方案2】:

我能够重现该错误,似乎路径未设置为包含/usr/local/greenplum-db-4.2.2.4/lib/python/gppylib/mainUtils.py,这是我安装包的位置。当我执行export PYTHONPATH=/usr/local/greenplum-db-4.2.2.4/lib/python/ 时,我收到了另一条错误消息:

Error: unable to import module: dlopen(/usr/local/greenplum-db-4.2.2.4/lib/python/pygresql/_pg.so, 2): no suitable image found.  Did find:
    /usr/local/greenplum-db-4.2.2.4/lib/python/pygresql/_pg.so: mach-o, but wrong architecture

我怀疑这是因为 pygresql 是为 32 位架构编译的,而我使用的是 x86_64(与您首先找不到 gppylib 的问题无关):

$ lipo -info /usr/local/greenplum-db-4.2.2.4/lib/python/pygresql/_pg.so
Non-fat file: /usr/local/greenplum-db-4.2.2.4/lib/python/pygresql/_pg.so is architecture: i386

另请注意,自述文件说:


GREENPLUM 数据库所需的操作系统系统设置


这些必须在所有 Greenplum 主机(master 和 segment)上设置。制作 确保在添加或更改内核后重新启动系统 参数。

将以下所有内容添加到 /etc/sysctl.conf:

kern.sysv.shmmax=2147483648

kern.sysv.shmmin=1

kern.sysv.shmmni=64

kern.sysv.shmseg=16

kern.sysv.shmall=524288

kern.maxfiles=65535

kern.maxfilesperproc=65535

net.inet.tcp.msl=60

如果使用 DHCP,将以下行添加到 /etc/hostconfig:

主机名=""

然后,您将在交换 ssh 密钥以及何时使用此主机名 初始化你的 Greenplum 数据库系统。


安装后步骤


这些是配置和初始化新的高级步骤 Greenplum 数据库实例。有关详细说明,请参阅 可供下载的“Greenplum 数据库安装指南” 来自http://powerlink.emc.com

    分配一个“gpadmin”操作系统用户来拥有和运行您的安装。 此用户必须存在于所有 Greenplum 主机上。

    在您的“gpadmin”用户中获取 greenplum_path.sh 文件 主控主机的配置文件 (.bashrc)。这设置了 Greenplum 数据库所需的环境变量。

    使用 gpseginstall 实用程序安装和配置 所有主机上的 Greenplum 软件。

    在所有 Greenplum 主机上创建数据目录位置。

    使用主控主机上的 gpinitsystem 实用程序 初始化并启动您的 Greenplum 数据库系统。这 实用程序需要一个配置文件和一个主机文件。 例如:

    gpinitsystem -c gpinitsystem_config -h hostfile_gpinitsystem

    一个示例多节点初始化配置文件可以 可以在 $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config 中找到。 编辑示例文件以反映您所需的 Greenplum 数据库配置。


关于您的安装


Greenplum 数据库安装程序安装以下文件和 目录:

greenplum_path.sh - Greenplum 数据库环境变量。

GPDB-LICENSE.txt - Greenplum 许可协议。

LICENSE.thirdparty - 第三方工具的许可证

bin - Greenplum 数据库服务器程序、客户端程序和 管理工具。

demo - Greenplum 数据库演示程序。

docs - Greenplum 数据库文档。

等 - OpenSSL 的示例配置文件。

ext - 某些人使用的捆绑程序(例如 Python) Greenplum 数据库实用程序。

包括 - Greenplum 数据库和 PostgreSQL 头文件。

lib - Greenplum 数据库和 PostgreSQL 库文件。

sbin - 支持/内部脚本和程序。

share - PostgreSQL 示例文件和模板。


GREENPLUM 数据库文档


以下文档可从以下网址下载 http://powerlink.emc.com:

(所有 Greenplum 数据库安装)

GPDB--README.pdf - 此版本 Greenplum 数据库的发行说明

GPInstallGuide.pdf - Greenplum 数据库安装指南

GPAdminGuide.pdf - Greenplum 数据库管理员指南

GPPerfmonAdminGuide.pdf - Greenplum 性能监视器管理员指南

【讨论】:

以上是关于如何修复这个 python 依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 cx_Freeze 6.0b1 冻结的 Linux 上修复 python 3.7.3 脚本上的 numpy 依赖项路径?

如何修复对等依赖项安装问题

如何修复此 Crashlytics 缺少依赖项异常?

如何修复 React Redux 和 React Hook useEffect 缺少依赖项:'dispatch'

如何修复 React Hook useEffect 缺少依赖项

如何修复颤动的 cloud_firestore 依赖项?