因此,我在ArchLinux (AUR Link)上安装了neo4j,并希望使用Python3.2测试它。我使用的是Python3.2,Eclipse和Pydev。
我尝试使用neo4j网站上的代码,尽管我认为它仍然是2.7Python代码,并且我试图将其转换为Python3.2代码。
代码如下:
import os
libpath = '/usr/share/java/neo4j'
os.environ['CLASSPATH'] = ';'.join( [ os.path.abspath(p) for p in
os.listdir(libpath)])
from neo4j import GraphDatabase
# Create a database
db = GraphDatabase('/home/USERNAME/.db/neo4j/HelloWorld')
# All write operations happen in a transaction
with db.transaction:
firstNode = db.node(name='Hello')
secondNode = db.node(name='world!')
# Create a relationship with type 'knows'
relationship = firstNode.knows(secondNode, name='graphy')
# Read operations can happen anywhere
message = ' '.join([firstNode['name'], relationship['name'], secondNode['name']])
print(message)
# Delete the data
with db.transaction:
firstNode.knows.single.delete()
firstNode.delete()
secondNode.delete()
# Always shut down your database when your application exits
db.shutdown()但我得到以下错误消息:
Traceback (most recent call last):
File "/home/USERNAME/PATH/TO/src/neo4j-HelloWorld.py", line 12, in <module>
from neo4j import GraphDatabase
File "/usr/lib/python3.2/site-packages/neo4j_embedded-1.6-py3.2.egg/neo4j/__init__.py", line 29, in <module>
from neo4j.core import GraphDatabase, Direction, NotFoundException, BOTH, ANY, INCOMING, OUTGOING
File "/usr/lib/python3.2/site-packages/neo4j_embedded-1.6-py3.2.egg/neo4j/core.py", line 19, in <module>
from _backend import *
ImportError: No module named _backend我就是搞不明白出了什么问题!我尝试按照描述的here设置CLASSPATH,但它不会改变任何东西。
如果有任何帮助,我将不胜感激!
发布于 2012-02-28 20:24:30
您是通过2to3运行代码的吗
如果没有,我建议您这样做。
我认为问题在于3.x中的相对导入语法发生了变化,详情请参阅PEP328。
例如,core.py中有问题的导入应该是from ._backend import *
https://stackoverflow.com/questions/9480518
复制相似问题