【问题标题】:No module named <modulename> when importing from another folder [duplicate]从另一个文件夹导入时没有名为 <modulename> 的模块[重复]
【发布时间】:2020-09-09 00:08:27
【问题描述】:

我的 python 项目有以下文件夹结构:

./SampleA/
   __init__.py
   company.py
./SampleB/
   __init__.py
   check.py

现在我正在尝试使用以下命令在我的check.py 模块中导入company.py 模块:

from SampleA import company

当我运行文件时,我得到以下错误:

ModuleNotFoundError: No module named 'SampleA'

如何解决这个问题?

【问题讨论】:

  • @rdas - 当我附加路径时,vscode 编辑器将所有导入文件移动到顶部,并且 sys.path.append 仅在导入命令之后。所以导入公司无法导入模块。
  • this 回答你的问题了吗?
  • @RMPR - 不,它对我不起作用。 sys.path.append 代码行位于 import 语句之后。所以导入发生在路径添加到路径之前。
  • 我链接的答案中没有提到sys.path.append

标签: python python-3.x


【解决方案1】:

您正在尝试导入同级模块而不是子模块。 说你是文件夹结构类似于

-SampleB
 - __init__
 - check
 - SampleA

然后它将起作用。 - 导入兄弟包的正确方法遵循link

【讨论】:

    猜你喜欢
    • 2016-06-26
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 2016-05-18
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多