2012-06-17 44 views
4

我对Python完全陌生,想使用py2neo和龙卷风模块。Python在哪里查找模块?

为了做到这一点,我跑setup.py两个模块并将它们放置到文件夹中

C:\Python32\modules\py2neo 

C:\Python32\modules\tornado 

在主程序我想这几行告诉解释在哪里寻找文件:

import sys 
sys.path.append(r'C:\Python32\modules') 



# Import Neo4j modules 
from py2neo import neo4j, cypher 

读这本书我还添加了环境变量(在Wi中ndows 7)

PYTHONPATH = C:\Python32\modules;C:\Python32\modules\tornado;C:\Python32\modules\py2neo 

编辑

现在我想出了Python壳牌以加载改性PYTHONPATH可变 如果变量值为PYTHONPATH = C:\Python32\modules ,程序包含行重新启动

from py2neo import neo4j, cypher 

然后将下面的行是无用:

import sys 
sys.path.append(r'C:\Python32\modules') 

然而,当我运行该程序,我得到以下错误:

Traceback (most recent call last): 
    File "C:\...\Python Projects\HelloPython\HelloPython\Hellopy2neo.py", line 15, in <module> 
    from py2neo import neo4j, cypher 
    File "C:\Python32\modules\py2neo\neo4j.py", line 38, in <module> 
    import rest, batch, cypher 
ImportError: No module named rest 

在文件neo4j.py有下面几行:

try: 
    import json 
except ImportError: 
    import simplejson as json 
try: 
    from urllib.parse import quote 
except ImportError: 
    from urllib import quote 
try: 
    from . import rest, batch, cypher 
except ImportError: 
    import rest, batch, cypher #line38 

和rest.py文件所在的文件夹中C:\Python32\modules\py2neo所以我不知道为什么我得到的错误

ImportError: No module named rest

EDIT2:

试图导入py2neo directoy在Python Shell和列表模块我得到:

>>> import py2neo 
>>> [name for name in dir(py2neo) if name[0] != '_'] 
['rest'] 

我想有一些unneccesary进口以及,他很感激,如果任何人解释,其中进口应添加和排除(在PYTHONPATH和脚本中),以使程序无误地运行。

+0

C:\ Python32 \ modules \ py2neo是否有一个名为'__init __。py'的文件? –

+0

@LevLevitsky是的,它的确如此。 –

+0

“rest”模块目录是否存在,是否在适当的位置? –

回答

0

我怀疑的问题是,import语法相对进口过渡from Python 2 to Python 3发生了变化:

The only acceptable syntax for relative imports is from .[module] import name. All import forms not starting with . are interpreted as absolute imports.

您安装使用,将在Python 2.工作语法模块,您既可以安装它们的Python 2,或者查找支持Python 3的py2neo版本,或者尝试手动将其移植(import行应该看起来像from . import rest,但以后可能会遇到其他问题)或使用2to3工具。

更新:我尝试安装py2neopip。 Python3失败,并成功完成Python 2.版本为1.2.14。

+0

谢谢!我试图使用2to3工具来更新语法,但不幸的是在Python 3.2中得到了同样的错误。 –

+0

@NikoGamulin它是否改变了'import'语句?当我用'2to3'将自己的模块移植到Python3时,它将所有本地导入更改为新的语法。 –

+0

不,我只是在这里发布输出http://stackoverflow.com/questions/11071037/how-to-use-2to3-tool-in-windows –