Nebula Python执行报错NameError: name 'Config' is not defined

  • nebula 版本:“2.6.1”
    image

  • 部署方式:分布式

  • 安装方式:源码编译

  • 是否为线上版本: N

  • 硬件信息

    • 磁盘( SSD)
    • CPU、内存信息 2c8g
  • 问题的具体描述

克隆源码安装Nebula Python

vim yl.py

# 定义配置
config = Config()
config.max_connection_pool_size = 10
# 初始化连接池
connection_pool = ConnectionPool()
# 如果给定的服务器正常,则返回 true,否则返回 false。
ok = connection_pool.init([('192.168.xx.1', 9669)], config)

# 方法 1:控制连接自行释放。
# 从连接池中获取会话
session = connection_pool.get_session('root', 'nebula')

# 选择图空间
session.execute('USE basketballplayer')

# 执行查看 TAG 命令
result = session.execute('SHOW TAGS')
print(result)

# 释放会话
session.release()

# 方法 2:使用 session_context,会话将被自动释放。
with connection_pool.session_context('root', 'nebula') as session:
    session.execute('USE basketballplayer;')
    result = session.execute('SHOW TAGS;')
    print(result)

# 关闭连接池
connection_pool.close()

image

image

不知道怎么用python连接上nebula

1 个赞

这个地址你改成自己 graphd 所在机器的地址了,对吧

是的

image

没引入 from nebula2.Config import Config

1 个赞

image
是在第一行添加吗 试了一下还是报错

报错说了结构没有 define, 你没有引入相关结构

参考这个 https://github.com/vesoft-inc/nebula-python/blob/master/example/GraphClientSimpleExample.py

master分支已更新 package 名, 你用 v2 版本的话用 from nebula2.Config import xxx

1 个赞

我只替换了字符串 nebula3 ->nebula2 执行报错

客户端版本不对 用2.6.0的release

抱歉我不太明白 我是按照这个文档红框里的命令安装的 我是需要也执行蓝框里的命令吗

是的 篮框里是拉取指定版本的客户端代码

1 个赞

好的谢谢 我试一下

我还有个问题 如果我配置了三个graphd 在使用的过程中如果有一个graphd挂掉了 会有一部分请求将会返回错误吗 还是说只会影响当前的连接 新的连接会自动分配到其他节点

会自动重连切换到其他节点

1 个赞

谢谢大佬

1 个赞

如果你觉得 Aiee 的回复解决了你的问题,可以勾选他的回复为【解决方案】哈~

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。