Python 连接阿里云图数据库GDB报错:NotImplementedError

用户环境:Windows10、Python3.8

一、在本地Python环境下连接阿里云的图数据库GDB步骤如下:

(1)在阿里云的控制台创建一个图数据库实例

(2)图数据库建立用户,获取用户名和密码

(3)在安全性管理中,将default组的白名单网址改为0.0.0.0/0并保存

(4)申请外网地址,获取外网地址和端口

(5)在cmd中测试地址和端口是否可用

ping ip        # 测试地址是否可用

telnet ip port      # 测试地址和端口是否可以访问

二、基于Python操作GDB,报错NotImplementedError

主要的官方参考文档是:https://help.aliyun.com/document_detail/107480.html?spm=a2c4g.11186623.6.602.7e8653e1Ynodfm 

在使用测试用例时,遇到了下面的报错:

主要问题:Python的版本与gremlinpython的依赖包tornado的版本不兼容的问题。在Python中使用pip install gremlinpython安装时,会自动安装它的依赖包tornado=5.1,这个包的5.1版本跟Python2.7和3.6是兼容的,所以在Python2.7和3.6下使用官方的测试用例没有问题。但是在Python3.8的环境下就会报上面的错。

主要的两种解决办法:

(1)使用Python2.7或3.6,在此环境下安装gremlinpython

(2)使用Python3.8,在安装完gremlinpython之后,使用pip uninstall tornado卸载tornado5.1,然后用pip install tornado安装最新版本的包。

三、一点思考

      今天在报错之后查了很久,最后找阿里云的售后也解决了很久。售后最后给的反馈是python2.7可以运行,是版本不兼容的问题。由于在python2.7中安装gremlinpython的时候有提示tornado的版本,于是就尝试了上面两种解决办法,发现都可以。

       其实从报错可以看到,就是一个方法没有实现,但是自己始终不明白为什么报这个错,看报错以及自己查的资料,影影约约觉得应该是tornado的问题。最后在各种巧合下搞明白了到底是哪里的问题,然后解决了。就在想,对于这种NotImplementedError的报错,是不是应该首先考虑包的版本问题,没有实现但是别人又在用,说明很大可能性是版本更新了,一点个人的想法。

参考:https://www.cnblogs.com/everfight/p/NotImplementedError.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值