繁体   English   中英

从不同文件夹导入时出现 ModuleNotFoundError (Python)

[英]ModuleNotFoundError while importing from different folder (Python)

从不同文件夹导入文件时,我遇到了模块未找到的老问题,请帮助我。 我的项目目录有以下内容:

knowledge_generators --> __init__.py
                        knowledge_generator.py
absorb.py

__init__.py我有以下内容:

from knowledge_generator import *

absorb.py有:

from knowledge_generators import *

在运行absorb.py时出现以下错误:

  File "D:/some/path/project/absorb.py", line 2, in <module>
    from knowledge_generators import *

  File "D:\some\path\project\knowledge_generators\__init__.py", line 1, in <module>
    from knowledge_generator import *

ModuleNotFoundError: No module named 'knowledge_generator'

此外,在运行__init__.py时一切正常(即没有 ModuleNotFoundError)。 请帮我破译这个问题。

我怀疑您需要使用相对导入

__init__.py

from .knowledge_generator import *

工作解决方案:只需将项目根目录添加到环境变量:PYTHONPATH。 所以对于下面的项目结构,只需在 PYTHONPATH 中添加 Rootdir 路径(例如:添加 E:\Projects\Rootdir)。

Rootdir
└── pkg2
    ├── b.py
    ├── c.py
     └── pkg2
      ├── b.py
      ├── c.py
    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM