Search code examples
pythonsocketsconnectionpy2neo

Python py2neo SocketError: Connection Refused


I'm trying to follow along to this neo4j tutorial and I'm having a problem connecting to the API. Here's my traceback:

>>> graph.delete_all()

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/py2neo/core.py", line 748,    in     delete_all
 statement = StartOrMatch(self).relationship("r", "*").string + "DELETE r"
 File "/usr/local/lib/python2.7/site-packages/py2neo/cypher/util.py", line 45, in string
if self.graph.supports_start_clause:
File "/usr/local/lib/python2.7/site-packages/py2neo/core.py", line 1105, in    supports_start_clause
return self.neo4j_version < (2, 2)
 File "/usr/local/lib/python2.7/site-packages/py2neo/core.py", line 964, in    neo4j_version
return version_tuple(self.resource.metadata["neo4j_version"])
File "/usr/local/lib/python2.7/site-packages/py2neo/core.py", line 213, in metadata
self.get()
File "/usr/local/lib/python2.7/site-packages/py2neo/core.py", line 258, in get
response = self.__base.get(headers=headers, redirect_limit=redirect_limit,   **kwargs)
File "/usr/local/lib/python2.7/site-packages/py2neo/packages/httpstream/http.py", line 966, in get
return self.__get_or_head("GET", if_modified_since, headers, redirect_limit, **kwargs)
File "/usr/local/lib/python2.7/site-packages/py2neo/packages/httpstream/http.py", line 943, in __get_or_head
return rq.submit(redirect_limit=redirect_limit, **kwargs)
File "/usr/local/lib/python2.7/site-packages/py2neo/packages/httpstream/http.py", line 433, in submit
http, rs = submit(self.method, uri, self.body, self.headers)
File "/usr/local/lib/python2.7/site-packages/py2neo/packages/httpstream/http.py", line 362, in submit
raise SocketError(code, description, host_port=uri.host_port)
py2neo.packages.httpstream.http.SocketError: Connection refused

I'm new to networking/socket connections, so a human-readable explanation of what's going on would be very helpful.


Solution

  • I had this error because I had specified the IP address in the .properties file but I was using localhost to connect. Once I used the IP address in both places it worked.

    In /etc/neo4j/neo4j-server.properties

    org.neo4j.server.webserver.address=1.2.3.4

    API url:

    http://neo4j:mypassword@1.2.3.4:7474/db/data/