Запуск кода neo4j-Python в Eclipse с Pydev под ArchLinux - PullRequest
1 голос
/ 28 февраля 2012

, поэтому я установил neo4j в ArchLinux ( AUR Link ) и хочу протестировать его, используя python 3.2.Я использую Python 3.2, Eclipse с Pydev.

Я попробовал следующий код с веб-сайта neo4j, хотя я думаю, что он все еще был кодом 2.7 python, и я попытался преобразовать его в код Python 3.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

Я просто не могу понять, что случилось!Я попытался установить CLASSPATH, как описано здесь , но это ничего не меняет.

Буду очень признателен за любую помощь!

1 Ответ

3 голосов
/ 28 февраля 2012

Вы запускали код через 2to3?

Если нет, я предлагаю вам это сделать.

Мне кажется, проблема в том, что относительный синтаксис импорта изменился в 3.x, см. PEP328 для получения более подробной информации.

например, импорт в нарушении в core.py должен , вероятно, , скажем, from ._backend import *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...