Neo4j Python py2neo授权错误

问题描述 投票:3回答:2

在Windows 8.1上安装Neo4j 2.2.3。没什么特别的。通过Neo4j启动应用程序启动服务器。没有什么特别的东西开始使用py2neo,就像Neo4j.org上的文档一样。进入授权错误我无法解释。记录如下。

一个特别的评论:尽管python \ script在路径中,但python shell只能从C:\ python34 \ python开始。

请解释我做错了什么,可以改进。

日志:

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. Alle rechten voorbehouden.

C:\Users\Fred>c:\Python34\python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from py2neo import Graph
>>> graph = Graph()
>>> from py2neo import Node, Relationship
>>> Z1 = Node("Zoeker", naam="Zoeker 1")
>>> O1 = Node("Opleiding", naam="Opleiding 1")
>>> Z1_heeft_O1 = Relationship(Z1, "heeft", O1)
>>> graph.create(Z1_heeft_O1)
Traceback (most recent call last):
  File "c:\Python34\lib\site-packages\py2neo\core.py", line 258, in get response = self.__base.get(headers=headers, redirect_limit=redirect_limit, **kwargs)
  File "c:\Python34\lib\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 "c:\Python34\lib\site-packages\py2neo\packages\httpstream\http.py", line 943, in __get_or_head return rq.submit(redirect_limit=redirect_limit, **kwargs)
  File "c:\Python34\lib\site-packages\py2neo\packages\httpstream\http.py", line 452, in submit return Response.wrap(http, uri, self, rs, **response_kwargs)
  File "c:\Python34\lib\site-packages\py2neo\packages\httpstream\http.py", line 489, in wrap raise inst 
py2neo.packages.httpstream.http.ClientError: 401 Unauthorized

在处理上述异常期间,发生了另一个异常:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\Python34\lib\site-packages\py2neo\core.py", line 712, in create statement = CreateStatement(self)
  File "c:\Python34\lib\site-packages\py2neo\cypher\create.py", line 44, in __init__ self.supports_node_labels = self.graph.supports_node_labels
  File "c:\Python34\lib\site-packages\py2neo\core.py", line 1086, in supports_node_labels return self.neo4j_version >= (2, 0)
  File "c:\Python34\lib\site-packages\py2neo\core.py", line 964, in neo4j_version return version_tuple(self.resource.metadata["neo4j_version"])
  File "c:\Python34\lib\site-packages\py2neo\core.py", line 213, in metadata self.get()
  File "c:\Python34\lib\site-packages\py2neo\core.py", line 261, in get raise Unauthorized(self.uri.string)
py2neo.error.Unauthorized: http://localhost:7474/db/data/
>>>
python neo4j py2neo
2个回答
5
投票

neo4j 2.2引入了默认启用的authentication。当您第一次打开Web界面(通常是http://localhost:7474/browser)时,系统会要求您设置用户名/密码。默认为neo4j / neo4j。

以下是如何在py2neo中使用身份验证:

from py2neo import authenticate, Graph

# set up authentication parameters
authenticate("camelot:7474", "arthur", "excalibur")

# connect to authenticated graph database
graph = Graph("http://camelot:7474/db/data/")

见:http://py2neo.org/2.0/essentials.html#py2neo.authenticate


0
投票

就我而言,这很有用。

在libexec / conf下,找到neo4j.conf文件夹。

删除“dbms.security.auth_enabled = false”之前的#

© www.soinside.com 2019 - 2024. All rights reserved.