【问题标题】:py2neo AddressError When Connecting to neo4j in Docker在 Docker 中连接到 neo4j 时出现 py2neo 地址错误
【发布时间】:2018-08-22 18:38:32
【问题描述】:

我在 Neo4j 3.4.6 上使用 py2neo 4.10 和 Python 3.7.0 创建 Graph 对象时遇到困难。

我创建了一个运行 Neo4j 的 Docker 容器,并使用 Dockerfile 条目 ENV NEO4J_AUTH=none 禁用了身份验证。我确认我可以使用http://localhost:7474 从主机浏览到 Neo4j 数据库,并且不需要输入密码。

我为我的 Web 服务器创建了第二个 Docker 包含。我使用Docker exec -it 033f92b042c1 /bin/bash 访问了 Bash shell。我验证我可以 ping 包含 Neo4j 安装的 Docker 映像。

从第二个 Docker 映像中,我尝试创建 Database 对象或 Graph 对象。

import neo4j
import py2neo
from py2neo import Graph
graph = Graph("bolt://172.17.0.3:7687")

我尝试了不同的协议和localhost,而不是IP。在每种情况下,Python 都会抛出这个:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/py2neo/database.py", line 88, in __new__
    inst = cls._instances[key]
KeyError: '5280a6d494b601f0256493eab3a08e55'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/py2neo/database.py", line 305, in __new__
    database = Database(uri, **settings)
  File "/usr/local/lib/python3.7/site-packages/py2neo/database.py", line 92, in __new__
    from py2neo.internal.http import HTTPDriver, HTTPSDriver
  File "/usr/local/lib/python3.7/site-packages/py2neo/internal/http.py", line 26, in <module>
    from neo4j.addressing import SocketAddress
  File "/usr/local/lib/python3.7/site-packages/neo4j/addressing.py", line 26, in <module>
    from neo4j.exceptions import AddressError
ImportError: cannot import name 'AddressError' from 'neo4j.exceptions' (/usr/local/lib/python3.7/site-packages/neo4j/exceptions.py)

我是否缺少依赖项,或者我应该以其他方式连接 Docker 映像?

【问题讨论】:

    标签: docker neo4j py2neo


    【解决方案1】:

    Py2neo 不需要 neo4j。原因可能是 neo4j 正在制造问题。 在我的情况下,请务必进行全新安装,我删除了所有与 neo4j 相关的模块,然后安装 py2neo 及其要求 neo4j-driver。

    pip uninstall neo4j neobolt neo4restclient neo4j-driver py2neo

    然后安装:
    pip install neo4j-driver py2neo

    我希望这会奏效。

    【讨论】:

    • 由于该解决方案有效,因此该问题与我的 Docker 网络配置无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多