【问题标题】:Importing from subdirectory into subdirectory从子目录导入到子目录
【发布时间】:2020-12-12 19:56:46
【问题描述】:
  1. 如何从 b1.py 导入到 b2.py
  2. 如何从 sa1 导入 b2?
test/                      # root folder
    packA/                 
        subA/              
            __init__.py
            sa1.py
            sa2.py
        __init__.py
        a1.py
        a2.py
    packB/                 
        b1.py
        b2.py
    math.py
    random.py
    other.py
    start.py

编辑 通过放置解决它:

import os
import sys
sys.path.append(os.getcwd())

其中 os.getcwd() 是项目的根目录。

【问题讨论】:

标签: python import


【解决方案1】:
  1. from packB import b1
  2. from packA.subA import sa1

【讨论】:

  • 这就是我尝试过的,大卫,但在第一种情况下我得到“没有定义模块:packB”。
  • packB 必须在您的 PYTHONPATH 中(例如 export PYTHONPATH="$PYTHONPATH:/test/packB")。是这样吗?
  • 我还没有处理 PYTHONPATH 也许这就是问题所在。我会查的。
  • 看来我通过附加 sys.path 解决了这个问题。然而,无论是 PYTHONPATH 还是 sys.path 都有些笨拙,尤其是考虑到它们在一个项目中。你知道这是否是常规方法吗?
  • 还有其他选择;你可以找到更多信息herehere
猜你喜欢
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
相关资源
最近更新 更多