2016-07-05 169 views
0

我有一个名为项目目录设置是这样的:名为无模块 '...' 蟒蛇

项目

--directory:src-- 
--directory:testscripts-- 
--directory:config_files-- 
RunPCS.py 

和src内,它被设置为:

SRC

parse_files.py 
parse_json.py 
process_xml.py 
__init__.py 

在RunPCS.py我有from src.parse_files import parse_filesfrom src.parse_json import parse_json

在parse_json.py我有from process_xml import process_xml(因为它们是在同一目录)

,但我得到的错误no module named process_xml。有谁知道为什么这个错误出现?

+2

请具体说明哪些版本的Python - 相对导入规则不同。看,即。 https://docs.python.org/2.5/whatsnew/pep-328.html - 在2.5中引入显式的相对导入语法(您可能应该在这里使用它)。 –

+0

我正在使用python 3.4 –

回答

1

的import语句,使用

from .src.parse_files import parse_files 
from .src.parse_json import parse_json 

在parse_json.py

from .process_xml import process_xml 
+0

从3.4开始它还在未来吗?我认为这成为3.0语言的一部分。 –

+0

好OP只有在我把我的答案放在后才评论它,所以不需要导入absolute_import –

+1

谢谢你的答案。然而,当我使用“从.src”它给出错误“'未加载,不能执行相对导入。当我从“.process_xml import process_xml”进行更改并使用src而不是.src时,它修复了问题 –