[英]ImportError: cannot import name 'CypherError' from 'neo4j.v1' (/usr/local/lib/python3.7/site-packages/neo4j/v1/__init__.py)
I am trying to connect a graph base to a project tiangolo/full-stack-fastapi-postgresql.我正在尝试将图形库连接到 tiangolo/full-stack-fastapi-postgresql 项目。 But every time I come across an import error.
但是每次我遇到导入错误时。 Please tell me, maybe someone faced a similar problem.
请告诉我,也许有人遇到过类似的问题。 Backend launch log:
后端启动日志:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
INFO:__main__:Initializing service
INFO:__main__:Starting call to '__main__.init', this is the 1st time calling it.
INFO:__main__:Service finished initializing
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
Traceback (most recent call last):
File "/app/app/initial_data.py", line 1, in <module>
from app.dbase.init_db import init_db
File "/app/app/dbase/init_db.py", line 14, in <module>
from neomodel import db as neodb
File "/usr/local/lib/python3.7/site-packages/neomodel/__init__.py", line 3, in <module>
from .core import *
File "/usr/local/lib/python3.7/site-packages/neomodel/core.py", line 9, in <module>
from neomodel.util import Database, classproperty, _UnsavedNode, _get_node_properties
File "/usr/local/lib/python3.7/site-packages/neomodel/util.py", line 8, in <module>
from neo4j.v1 import GraphDatabase, basic_auth, CypherError, SessionError
ImportError: cannot import name 'CypherError' from 'neo4j.v1' (/usr/local/lib/python3.7/site-packages/neo4j/v1/__init__.py)
The code I was callin:我调用的代码:
import logging
from sqlalchemy.orm import Session
from app import crud, schemas
from app.core.config import settings
from app.dbase import base
from neomodel import db as neodb
from neomodel import config, install_all_labels
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def init_db(dbase: Session) -> None:
user = crud.user.get_by_email(dbase, email=settings.FIRST_SUPERUSER)
if not user:
user_in = schemas.UserCreate(
email=settings.FIRST_SUPERUSER,
password=settings.FIRST_SUPERUSER_PASSWORD,
is_superuser=True,
)
user = crud.user.create(dbase, obj_in=user_in)
neodb.set_connection("bolt://neo4j:password@neo4j:7687")
person = Profile(email=settings.FIRST_SUPERUSER)
person.save()
country = Country(name="Russia")
country.save()
person.country.connect(country)
The requirements for neomodel state that it requires neo4j 3.0, 3.1, 3.2, or 3.3 Neomodel 的要求表明它需要 neo4j 3.0、3.1、3.2 或 3.3
See the documentation: https://neomodel.readthedocs.io/en/latest/#requirements查看文档: https : //neomodel.readthedocs.io/en/latest/#requirements
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.