ModuleNotFoundError: 找不到名为'neo4j.addressing'的模块 和 ModuleNotFoundError: 找不到名为'neo4j'的模块

4
我遇到了一个错误,只是尝试运行Graph()方法时出现的。
>>> import py2neo
>>> graph = py2neo.Graph()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\database.py", line 305, in __new__
database = Database(uri, **settings)
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\database.py", line 85, in __new__
connection_data = get_connection_data(uri, **settings)
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\internal\addressing.py", line 118, in get_connection_data
data["user_agent"] = http_user_agent() if data["scheme"] in ["http", "https"] else bolt_user_agent()
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\meta.py", line 32, in bolt_user_agent
import neo4j
ModuleNotFoundError: No module named 'neo4j'

这个错误与neo4j-driver无关。
>>> import py2neo
>>> graph = py2neo.Graph()
Traceback (most recent call last):
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\database.py", line 88, in __new__
inst = cls._instances[key]
KeyError: 'c562f33e637233f1922f80fc5652b53a'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\database.py", line 305, in __new__
database = Database(uri, **settings)
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\database.py", line 92, in __new__
from py2neo.internal.http import HTTPDriver, HTTPSDriver
File "E:\Chibanggri\flask and neo4j\venv\lib\site-packages\py2neo\internal\http.py", line 26, in <module>
from neo4j.addressing import SocketAddress
ModuleNotFoundError: No module named 'neo4j.addressing'

这是使用neo4j-driver的代码,以下是pip freeze的结果:


astroid==2.0.4
bcrypt==3.1.4
cffi==1.11.5
Click==7.0
colorama==0.4.0
Flask==1.0.2
isort==4.3.4
ItsDangerous==1.0.0
Jinja2==2.10
lazy-object-proxy==1.3.1
MarkupSafe==1.0
mccabe==0.6.1
neobolt==1.7.0
neotime==1.7.1
passlib==1.7.1
py2neo==4.1.0
pycparser==2.19
pylint==2.1.1
pytz==2018.6
six==1.11.0
Werkzeug==0.14.1
wrapt==1.10.11 

这全部是在我为一个 Flask 教程设置的虚拟环境 (venv) 中进行的。问题似乎不是由 Flask 引起的,很可能与 Neo4j 本身有关。我不知道该怎么办。


你尝试过独立导入neo4j吗? - BernardL
导入neo4j 跟踪back(最近的调用最先): 文件“<stdin>”,第1行,in <module> ModuleNotFoundError:找不到名为'neo4j'的模块
- Banchan Kiro
我在需求文件中没有看到 neo4j - BernardL
它在py2neo的meta.py文件中导入了neo4j。 - Banchan Kiro
你尝试过手动安装库吗? - BernardL
刚刚完成了,出现了neo4j.addressing错误。 - Banchan Kiro
1个回答

3

使用pip install neo4j-driver==1.6.2命令进行安装即可解决问题。似乎在py2neo==4.1.0上安装的neo4j-driver存在版本特定问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接