可能这是一个平庸的问题,我热切地希望如此,但我已经被困在这个问题上太多天了,没有尝试寻求帮助。
\nStackOverflow 中也有类似的问题,例如Python 子包导入和Python: importing a sub\xe2\x80\x91package or sub\xe2\x80\x91module。不过,这些问题与导入实际存在于包中的子包(及其内容)有关。
\n我开发了一些软件包,我们称它们为package1和package2。这些包本身就有意义,具有非常复杂的依赖关系,并且需要编译某些部分,但是一旦它们出现在 Pipy 上,最终用户就消除了这种复杂性。
我现在正在开发第三个包,package3它旨在合并package1并package2添加一些额外的功能。我希望用户从和package1导入功能。package2package3
剥离package3到骨架后,我们可以将其缩减为单个__init__文件,如下所示:
// Content of the init file\nimport package1\nimport package2\n\n__all__ = [\n "package1",\n "package2"\n]\nRun Code Online (Sandbox Code Playgroud)\n现在,在脚本中,我执行以下操作:
\nfrom package3 import package1\nfrom package3 import package2\nRun Code Online (Sandbox Code Playgroud)\n有用。
\n但是,执行以下命令不起作用:
\nfrom package3.package1 import content_of_package1\nRun Code Online (Sandbox Code Playgroud)\n因为它会引发以下错误:
\nModuleNotFoundError: No module named \'package3.package1\'\nRun Code Online (Sandbox Code Playgroud)\n但如果我运行以下命令,它就会起作用:
\nimport package3\nimport package1\nassert dir(package1) == dit(package3.package1)\nRun Code Online (Sandbox Code Playgroud)\n我不知道接下来要做什么,除非我只是镜像整个package1和package2结构package3。有解决ModuleNotFoundError错误的建议吗?
谢谢。
\n| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |