如何解决Python - 从源根导入导致“没有名为‘<源根>’的模块”
调查我应该如何构建我克隆到 nose repository 中的项目和测试,并发现了我一直遇到的相同问题。
项目的结构如下:
nose <----- repository root
nose <- source root
__main__.py
__init__.py
core.py
[...]
unit_tests
.gitignore
[...]
如果我跑
python nose/__main__.py
我明白
File "/home/daniel/Projects/nose/nose/__main__.py",line 3,in <module>
from nose.core import run_exit
ModuleNotFoundError: No module named 'nose'
我意识到可能有一个涉及 PYTHONPATH
的修复,但我对 Python 相当陌生,我觉得必须有一种方法可以让项目“开箱即用”,而不必修改任何系统变量。
对于上下文,当我发现我的测试失败时,整个调查就开始了,因为我的非测试代码中的导入会失败(我的项目结构与 Nose 的结构相同)。例如:
from package import module
from package.subpackage import module
运行测试时会导致以下错误:
ModuleNotFoundError: No module named 'package'
如果我将导入更改为像鼻子一样,测试会运行良好。例如:
from project.package import module
from project.package.subpackage import module
但是当我尝试正常运行程序时会遇到上述错误。
ModuleNotFoundError: No module named 'project'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。