【问题标题】:How do you import a file from a package when the file itself has imports?当文件本身具有导入时,如何从包中导入文件?
【发布时间】:2021-05-22 15:58:17
【问题描述】:

我的项目结构是 包裹 --分包1 ---文件1 ---文件2 --子包2 ---文件3

在 file1 中,我从 file2 导入了一个类,它使用 from file2 导入类,然后从文件 3 我使用 sys.path.append('..') 并导入了 file1,这似乎可以工作。但是,从 file2 导入到 file1 会出错。当我只运行文件 1 和将代码从文件 1 导入文件 3 时,如何让导入工作?

【问题讨论】:

  • 不应该是sys.path.append('../Subpackage1')吗?
  • 我用了sys.path.append('..') 然后做了import subpackage1.file1,我觉得是一样的吗?

标签: python import structure project


【解决方案1】:

您需要在sys.path 中拥有所有具有依赖关系的目录。

根据评论,如果你想添加根目录,你也必须添加子目录

sys.path.append('..')
sys.path.append('../Subpackage1')
import Subpackage1.file1

或者,您可以添加子目录并直接导入

sys.path.append('../Subpackage1')
import file1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 2015-01-22
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多