Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AttributeError: 'Graph' object has no attribute 'cypher' #59

Closed
geosmart opened this issue Mar 23, 2016 · 6 comments
Closed

AttributeError: 'Graph' object has no attribute 'cypher' #59

geosmart opened this issue Mar 23, 2016 · 6 comments

Comments

@geosmart
Copy link

I running neo4j_doc_manager with
mongo-connector -m 192.168.1.188:27017 -t http://127.0.0.1:7474/db/uadb -d neo4j_doc_manager, and the error throw :

2016-03-23 17:50:35,161 [ERROR] mongo_connector.doc_managers.neo4j_doc_manager:70 - Bulk
2016-03-23 17:50:35,161 [ERROR] mongo_connector.doc_managers.neo4j_doc_manager:70 - Bulk
2016-03-23 17:50:35,161 [ERROR] mongo_connector.doc_managers.neo4j_doc_manager:70 - Bulk
2016-03-23 17:50:35,161 [ERROR] mongo_connector.doc_managers.neo4j_doc_manager:70 - Bulk
2016-03-23 18:00:58,046 [ERROR] mongo_connector.util:87 - Fatal Exception
Traceback (most recent call last):
  File "e:\pythonworkspace\venv\neo4j.venv\lib\site-packages\mongo_connector\util.py", line 85, in wrapped
    func(*args, **kwargs)
  File "e:\pythonworkspace\venv\neo4j.venv\lib\site-packages\mongo_connector\oplog_manager.py", line 268, in ru
    ns, timestamp)
  File "e:\pythonworkspace\venv\neo4j.venv\lib\site-packages\mongo_connector\doc_managers\neo4j_doc_manager.py", line 74, in update
    tx = self.graph.cypher.begin()
AttributeError: 'Graph' object has no attribute 'cypher'

any other lib I have to install?

@johnymontana
Copy link
Member

It looks like the URL your are passing for Neo4j is incorrect. It should be http://127.0.0.1:7474/db/data

@geosmart
Copy link
Author

@johnymontana Thank you, I changed the neo4j endpoint ,But the error still

(neo4j.venv) F:\Software\04 Efficient\ALTRun>mongo-connector -m 192.168.1.188:27017 -t http://127.0.0.1:7474/db/data -d neo4j_doc_manager
Logging to mongo-connector.log.
Exception in thread Thread-2:
Traceback (most recent call last):
  File "C:\Python27\Lib\threading.py", line 810, in __bootstrap_inner
    self.run()
  File "e:\pythonworkspace\venv\neo4j.venv\lib\site-packages\mongo_connector\util.py", line 85, in wrapped
    func(*args, **kwargs)
  File "e:\pythonworkspace\venv\neo4j.venv\lib\site-packages\mongo_connector\oplog_manager.py", line 244, in run
    entry['o']['_id'], ns, timestamp)
  File "e:\pythonworkspace\venv\neo4j.venv\lib\site-packages\mongo_connector\doc_managers\neo4j_doc_manager.py", line 88, in remove
    tx = self.graph.cypher.begin()
AttributeError: 'Graph' object has no attribute 'cypher'

My Versions

MongoDB :2.6.1
Neo4j :2.3.2
python :2.7.10 x86

@geosmart
Copy link
Author

I reinstall neo4j_doc_manager without set --pre ,use the stable version rather than dev version.
install command:pip install neo4j-doc-manager
and now it's working fine!
thanks @johnymontana, It's just a version problem

@johnymontana
Copy link
Member

Thanks @geosmart for posting this. I've updated the readme and docs to remove the --pre option for installation. This was an artifact from when there was not a stable / non-dev release in PyPI.

@stevenpollack
Copy link

stevenpollack commented May 14, 2016

Head's up, I had the same error as @geosmart, re-installed without the --pre option and now (thanks for py2neo v2, am experiencing the following error:

ImportError: cannot import name 'BindError'

Full traceback:

$ mongo-connector -m localhost:27017 -t http://localhost:7474/data/db -d neo4j_doc_manager
Fatal Exception
Traceback (most recent call last):
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 803, in import_dm_by_name
    module = __import__(full_name, fromlist=(name,))
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/doc_managers/neo4j_doc_manager.py", line 14, in <module>
    from mongo_connector.doc_managers.error_handler import ErrorHandler
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/doc_managers/error_handler.py", line 4, in <module>
    from py2neo import GraphError as graph_error, BindError as bind_error
ImportError: cannot import name 'BindError'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/util.py", line 85, in wrapped
    func(*args, **kwargs)
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 1041, in main
    conf.parse_args()
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/config.py", line 118, in parse_args
    option, dict((k, values.get(k)) for k in option.cli_names))
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 824, in apply_doc_managers
    module = import_dm_by_name(dm['docManager'])
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 814, in import_dm_by_name
    "vailable doc managers." % full_name)
mongo_connector.errors.InvalidConfiguration: Could not import mongo_connector.doc_managers.neo4j_doc_manager. It could be that this doc manager has been moved out of this project and is maintained elsewhere. Make sure that you have the doc manager installed alongside mongo-connector. Check the README for a list of available doc managers.
Traceback (most recent call last):
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 803, in import_dm_by_name
    module = __import__(full_name, fromlist=(name,))
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/doc_managers/neo4j_doc_manager.py", line 14, in <module>
    from mongo_connector.doc_managers.error_handler import ErrorHandler
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/doc_managers/error_handler.py", line 4, in <module>
    from py2neo import GraphError as graph_error, BindError as bind_error
ImportError: cannot import name 'BindError'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/user/anaconda/envs/mongo_neo4j/bin/mongo-connector", line 11, in <module>
    sys.exit(main())
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/util.py", line 85, in wrapped
    func(*args, **kwargs)
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 1041, in main
    conf.parse_args()
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/config.py", line 118, in parse_args
    option, dict((k, values.get(k)) for k in option.cli_names))
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 824, in apply_doc_managers
    module = import_dm_by_name(dm['docManager'])
  File "/Users/user/anaconda/envs/mongo_neo4j/lib/python3.5/site-packages/mongo_connector/connector.py", line 814, in import_dm_by_name
    "vailable doc managers." % full_name)
mongo_connector.errors.InvalidConfiguration: Could not import mongo_connector.doc_managers.neo4j_doc_manager. It could be that this doc manager has been moved out of this project and is maintained elsewhere. Make sure that you have the doc manager installed alongside mongo-connector. Check the README for a list of available doc managers.

Also:

$ pip freeze
mongo-connector==2.3
neo4j-doc-manager==0.1.1
py2neo==3
pymongo==3.2.2
pysolr==3.4.0
requests==2.10.0
$ mongod --version
db version v3.2.6
git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
OpenSSL version: OpenSSL 1.0.2h  3 May 2016
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

and I'm using neo4j v3.0

@Loubonnet
Copy link

Hi @stevenpollack,
I'm facing the same issue (ImportError: cannot import name 'BindError').
Did you finally find a way to fix this?

Thanks in advance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants