我知道已经发布了很多关于包内导入的问题。我想知道以下是否也是 Python 2.7 的方式。
Source/
anomalyCheck/
__init__.py
DLthput.py
ULPowerStats.py
ULThput.py
config/
__init__.py
configure.py
parserTools/
__init__.py
logParser.py
utilities/
__init__.py
plotLogResults.py
__init__.py
lteDebugger.py
---- lteDebugger.py----
import parserTools.logParser
import anomalyCheck.DLthput
import utilities.plotLogResults
import configuration.TDDFDDconfiguration
import anomalyCheck.ULthput
### Work done after here ####
------DLThput.py------
from ..utilities.plotLogResults import *
from ..parserTools.logParser import *
### Work done after here ####
------ULThput.py-----
from ..parserTools.logParser import *
from ..utilities.plotLogResults import *
错误 :
运行 lteDebugger.py 文件时,错误是
ValueError:尝试相对导入超出顶级包 文件“C:\Users\manojtut\Desktop\Project_LTE_SVN\Source\lteDebugger.py”,第 2 行,在 导入 anomalyChecker.DLthput 文件“C:\Users\manojtut\Desktop\Project_LTE_SVN\Source\anomalyChecker\DLthput.py”,第 1 行,在
我已经阅读了几乎所有可用的文档和 Guido 的包内导入指南。另外,我想我的一切都在正确的地方。我在这里错过了什么吗?请指出。提前非常感谢。:) :)
编辑 1:Amber 的回答解决了提到的问题。因此, lteDebugger.py 通过导入所有其他模块可以正常工作。现在,另一个问题是,我无法解决的是......当我想编译/解释(无论你想调用什么) DLThput.py/ULthput.py 时,它显示与上面相同的错误...... . ValueError: 尝试相对导入超出顶级包。我还有其他添加路径到 sys hacks 的解决方案吗?我真的不想这样做,除非这是唯一要做的事情。那么,我该如何躲避呢?