2012-06-17 74 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 –