如何修复这个 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 gppylib
和pip 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 依赖项路径?
如何修复 React Redux 和 React Hook useEffect 缺少依赖项:'dispatch'