【发布时间】:2020-12-14 20:59:10
【问题描述】:
我有这个目录结构:
├── package1
│ ├── __init__.py
│ └── package2
│ ├── __init__.py
│ └── module2.py
└── script.py
script.py 文件如下所示:
import package1.package2.module2
import package1.package2
if __name__ == '__main__':
package1.package2.module2.run() # This works
package2.module2.run() # This fails
执行失败并出现此错误,NameError: name 'package2' is not defined。
如何更改代码以使package2.module2 被识别为导入模块?
【问题讨论】:
-
您是否尝试过使用文档中的前导点符号?我不明白为什么您所布置的内容不起作用。有什么错误? docs.python.org/3/reference/…
-
用错误信息 NameError: name 'package2' is not defined 更新了问题。
-
@Steve :似乎没有
package2目录,其中包含module2文件。这可能是错误的原因。 -
@LakshyaRaj 明白了。最初问题的原因是为了提高部分路径的可读性,而不会对完整路径变得过于冗长。
-
@Steve :所以我们可以假设它存在于那个位置,对吧?
标签: python python-import