Я использую чашу для приложения с Neo4j. Мой (пример) код выглядит следующим образом:
from neo4j import GraphDatabase
uri = "bolt://<some IP address>:7687"
driver = GraphDatabase.driver(uri, auth=("neo4j", "<password>"))
def do_something(u):
with driver.session() as session:
result = session.run(
"MATCH (u) "
"RETURN u",
u=u)
Как видите, мои 'uri' и 'driver' объявлены на верхнем уровне, что идеально, когда мне нужно сослаться на них для множества различных функций.
Когда я выполняю развертывание чаши, он пытается разрешить переменную «драйвер» в сборке / упаковке, которая вызывает ошибку тайм-аута для базы данных, вероятно потому, что она не всегда работает.
Есть ли лучший способ сделать это?
Я могу написать это так, и он будет развернут, но, кажется, не нужно так много копировать:
def do_something(u):
with GraphDatabase.driver(uri, auth=("neo4j", "<password>")).session() as session:
result = session.run(
"MATCH (u) "
"RETURN u",
u=u)
Спасибо