【问题标题】:Connection problem related to Bolt Protocol and Neo4j using Python使用 Python 与 Bolt 协议和 Neo4j 相关的连接问题
【发布时间】:2020-10-31 19:34:08
【问题描述】:

我正在尝试使用 Python 连接到 Neo4j,但在该行中出现与 Bolt 协议相关的错误

driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "neo4j"))

我使用驱动程序 neo4j-driver 4.0.2 运行代码。我也试过 neo4j-driver 4.1.1 也遇到了同样的问题。

我是否缺少一些配置?

Traceback (most recent call last):
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\__init__.py", line 194, in bolt_driver
    return BoltDriver.open(target, auth=auth, **config)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\__init__.py", line 357, in open
    pool = BoltPool.open(address, auth=auth, pool_config=pool_config, workspace_config=default_workspace_config)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\io\__init__.py", line 510, in open
    seeds = [pool.acquire() for _ in range(pool_config.init_size)]
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\io\__init__.py", line 510, in <listcomp>
    seeds = [pool.acquire() for _ in range(pool_config.init_size)]
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\io\__init__.py", line 523, in acquire
    return self._acquire(self.address, timeout)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\io\__init__.py", line 395, in _acquire
    connection = self.opener(address, timeout)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\io\__init__.py", line 507, in opener
    return Bolt.open(addr, auth=auth, timeout=timeout, **pool_config)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\io\__init__.py", line 212, in open
    raise BoltHandshakeError("The Neo4J server does not support communication with this driver. This driver have support for Bolt Protocols {}".format(supported_versions), address=address, request_data=handshake, response_data=data)
neo4j._exceptions.BoltHandshakeError: The Neo4J server does not support communication with this driver. This driver have support for Bolt Protocols dict_keys([Version(3, 0), Version(4, 0)])

 The above exception was the direct cause of the following exception:
 
 Traceback (most recent call last):   File "src/load_db.py", line 11,
 in <module>
     driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "neo4j"))   File "C:\Users\Anita
 Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\__init__.py",
 line 181, in driver
    return cls.bolt_driver(parsed.netloc, auth=auth, **config)   File "C:\Users\Anita
 Caron\AppData\Local\Programs\Python\Python38\lib\site-packages\neo4j\__init__.py",
 line 197, in bolt_driver
     raise ServiceUnavailable(str(error)) from error neo4j.exceptions.ServiceUnavailable: The Neo4J server does not support
 communication with this driver. This driver have support for Bolt
Protocols dict_keys([Version(3, 0), Version(4, 0)])

【问题讨论】:

  • 我在@cybersam 的评论中看到了链接,我将我的驱动程序降级到 1.7.6 并且它工作了!!!!!!
  • 您真的使用neo4j 作为密码吗?我建议使用浏览器登录 Neo4j,然后更改密码。然后尝试使用新密码登录。
  • 是的。我已经解决了,谢谢。
  • 请不要在问题中编辑解决方案公告。接受(即单击旁边的“勾选”)现有答案之一,如果有的话。如果现有答案尚未涵盖您的解决方案,您还可以创建自己的答案,甚至接受它。

标签: python neo4j bolt


【解决方案1】:

尝试刷新 tox 缓存,如 neo4j issue 中所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2019-09-12
    相关资源
    最近更新 更多