在 Python3 中导入包

Importing packages in Python3

如何在 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 中的代码时,它工作。

有人可以帮我解决这个问题吗?将感激不尽! :)

也许这是因为我们从 python 导出的是模块而不是包。

我认为这个问题是由于这个原因引起的。

另外,在cmd中运行也是一样的,可以按照这样的语法:

from InnerPackage2.InnerInnerPackage6 import InnerInnerPackage6

这可能是原因,当我们在 JetBrains PyCharm 和 cmd 上 运行 相同的程序时会出现困难。