在Python3中导入包

时间:2019-02-05 09:34:18

标签: python-3.4

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

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

1 个答案:

答案 0 :(得分:0)

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

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

此外,要在cmd中运行相同代码,可以遵循以下语法:

from InnerPackage2.InnerInnerPackage6 import InnerInnerPackage6

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