cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Errors in connecting to Neo4j through Python

Hello and thanks in advance.

Newbie trying to make my way through an online ETL course. Instructor has had us create a number of local instances of API servers to demonstrate API queries, gets, and whatnot. I have followed along with good success (not without struggles tho) until now.

Current scenario:

Python 3 code that creates a neo4j docker image, populates the db with some data, and opens a local server with a msg saying "neo4j ready on ports ......., CTRL C to quit". We are asked then to run the query code (API client I beleive) but I have yet to get there.

I have:

Windows 10 Machine
VSCode IDE
Docker Desktop (Docker Engine v20.10.5)
Neo4j Desktop 1.4.3

As suggested I'm running a Pipenv using:
Pyhton 3.8
py -m neo4j 4.2.1
py -m neobolt 1.7.17

When I run the code to create Neo4j Docker image/db and open server I get the following error:

"raise ServiceUnavailable("Failed to establish connection to {!r} (reason {})".format(resolved_address, error))
neo4j.exceptions.ServiceUnavailable: Failed to establish connection to IPv4Address(('127.0.0.1', 7687)) (reason [WinError 10061] No connection could be made because the target machine actively refused it):"

I did try making a firewall rule for the bolt port but that did not work. If I create and start the Neo4j db on desktop with the --name in the code I get an authentication error. I did this only to troubleshoot - as python code is supposed to do this.

My newbie brain thinks this may have to do with the note below from the neo4j documentation but I am not sure how to test this, change in neo4j config, or implement in the python code.

"Using Docker on Windows will also need a couple of additional configurations because the default 0.0.0.0 address that is resolved with the above command does not translate to localhost in Windows. We can add the following environment variables to our command above to set the advertised addresses:"

I have searched far and wide trying to solve this myself but alas I have not been able to.

Any suggestions or help would be appreciated.

0 REPLIES 0