ModuleNotFoundError: No module named 'neo4j.ad

2019-08-14 21:17发布

问题:

I am getting this error. just from trying to run Graph() method.

>>> 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'

This error comes without 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'

This one with neo4j-driver Here is the 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 

This is all in a virtual environment (venv) I set up for a flask tutorial. Problem does not seem to be because of flask, most likely with neo4j itself. I have no idea what to do.

回答1:

pip install neo4j-driver==1.6.2

This should resolve the problem. There seems to be a version specific issue with the neo4j-driver installed alongside py2neo==4.1.0