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.

Error while connect with py2neo

lx2pwnd
Node Clone

On my remote server I have installed neo4j 3.5.22.
I have modified the neo4j.conf to reach neo4j browser from remotly at the addres <ip_address>:7474. So far everything is fine

My problem start when I try to configure the python script inside my web app to use neo4j, but when I execute someone of this scripts I get this error

    Traceback (most recent call last):
  File "/var/www/html/sna/server/dataSearcher/getData.py", line 14, in <module>
    graph = Graph(host='http://<ip_address>:7474/db/data', auth=('neo4j', '<password>)'))
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/database/__init__.py", line 377, in __new__
    gs = GraphService(profile, **settings)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/database/__init__.py", line 199, in __new__
    inst._connector = Connector.open(profile, **connector_settings)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/client/__init__.py", line 802, in open
    return cls(profile, user_agent, init_size, max_size, max_age)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/client/__init__.py", line 808, in __init__
    on_unbind=self._unbind_connection)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/client/__init__.py", line 368, in open
    seeds = [pool.acquire() for _ in range(init_size or cls.default_init_size)]
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/client/__init__.py", line 524, in acquire
    on_release=lambda c: self.release(c))
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/client/__init__.py", line 99, in open
    on_bind=on_bind, on_unbind=on_unbind, on_release=on_release)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/client/bolt.py", line 111, in open
    wire = cls._connect(profile)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/client/bolt.py", line 125, in _connect
    wire = Wire.open(profile.address, keep_alive=True)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/site-packages/py2neo/wiring.py", line 153, in open
    s.connect(address)
  File "/home/leonardo/miniconda2/envs/sna/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
TypeError: an integer is required

I tried to substitute:
Graph(host='http://<ip_address>:7474/db/data', auth=('neo4j', '<password>)'))
with:
Graph(host='bolt://<ip_address>:7687/db/data', auth=('neo4j', '<password>)'))

But nothing is change for me.
What's wrong ? thanks

2 REPLIES 2

In both cases whether using HTTP or Bolt, no "path" is required in the connection URL:

I think this is a part of your problem, and you should clean up the URL.

Additionally -- /db/data is a partial path on an HTTP server, and so using that in combination with port 7687 and bolt is not meaningful, since bolt servers do not expose paths.

So, in your opinion should I just put
graph = Graph(host='<ip_address>:7687', auth=('neo4j', '<password>'))
in my code ?