【发布时间】:2019-06-29 02:07:23
【问题描述】:
如何在 Python3 中导入包?
-Package1
|
--InnerPackage1
||
| ---InnerInnerPackage1
| ---InnerInnerPackage2
| ---InnerInnerPackage3
--InnerPackage2
||---InnerInnerPackage4
||---InnerInnerPackage5
||---InnerInnerPackage6
||---InnerInnerPackage7
--InnerPackage3
||---InnerInnerPackage8
||---InnerInnerPackage9
|||
|| ----InnerInnerInnerPackage10
|| ----InnerInnerInnerPackage11
||---InnerInnerPackage12
|||----InnerInnerInnerPackage12
|||----InnerInnerInnerPackage13
|||----InnerInnerInnerPackage14
||---InnerInnerPackge13
现在,让我的目录结构类似于我上面提到的,我如何导入一个包,当我的当前目录假设为 InnerInnerInnerPackage12,我必须导入 InnerInnerPackage6。
不过,当我导入时,在使用这种语法遍历上面时,
from InnerPackage2 import InnerInnerPackage6
另外,也可以是从根包导入
Package1.InnerPackage2.InnerInnerPackage6
另一个逻辑说,
import sys.path
sys.path.insert(0, '%package_directory%\\Package1\\InnerPackage2\\InnerInnerPackage6')
这在 cmd 中有效。
仍然是导入模块的正确方法。
在 CMD 中运行代码时出现错误,但是当我在 JetBrains PyCharm 中运行代码时,它可以工作。
有人可以帮我解决这个问题吗?将感激不尽! :)
【问题讨论】:
-
您似乎正在尝试导入嵌套包。您是否尝试过使用相对进口?类似于stackoverflow.com/a/2183325/6373131
-
我明白了,但我不明白如果我们必须遍历位于不同目录中的包,该目录比当前工作目录高几级?
标签: python-3.4