如何在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中运行代码时,它可以工作。
有人可以帮我解决这个问题吗?将感激不尽! :)
答案 0 :(得分:0)
也许这是因为我们从python导出的是模块而不是软件包。
我认为是由于这个原因引起的。
此外,要在cmd中运行相同代码,可以遵循以下语法:
from InnerPackage2.InnerInnerPackage6 import InnerInnerPackage6
这可能是原因,当我们在JetBrains PyCharm和cmd上运行相同的程序时,就会出现困难。