Python3.9配置PYTHONPATH后仍出现ImportError导入失败问题求助
Python 3.9模块导入异常解决方案
问题根因
你遇到的导入错误由以下几个常见原因导致:
- 导入语句写法错误:在未配置
core包导出规则的前提下,无法直接从core包导入下层模块内的函数。 - PYTHONPATH配置未生效:手动export的环境变量仅对当前终端会话生效,若路径填写错误、切换了终端或执行环境不一致,配置会失效。
- 测试执行路径不正确:直接进入
test目录执行脚本时,Python默认将脚本所在的test目录加入模块搜索路径,无法找到上层的core包。
另外你当前的测试代码还存在语法错误,断言直接写在类作用域下,未放在测试方法内,即使导入问题解决也无法正常运行。
解决方案
- 修正导入逻辑,二选一即可:
- 直接修改测试文件的导入语句,将
from core import hello_world_main替换为from core.hello_world_main import hello_world_main - 在
core/__init__.py中添加导出规则:from .hello_world_main import hello_world_main,原有导入语句保持不变
- 直接修改测试文件的导入语句,将
- 修正测试代码的语法错误:
import unittest from core.hello_world_main import hello_world_main class HelloWorldTest(unittest.TestCase): # 断言必须放在测试方法内 def test_hello_return_value(self): self.assertEqual(hello_world_main(), "myString") if __name__ == '__main__': unittest.main(exit=False) - 选择以下任意一种稳定的执行方式,避免每次手动配置PYTHONPATH:
- 进入项目根目录
hello-world-proj,以模块方式执行测试:python -m test.test_hello_world_main - 若要手动配置PYTHONPATH,需替换为你本地的真实项目绝对路径,且在执行测试的同一个终端会话中操作:
export PYTHONPATH=$PYTHONPATH:/你本地的实际路径/hello-world-proj python test/test_hello_world_main.py
- 进入项目根目录
内容的提问来源于stack exchange,提问作者tomiyos654
相关产品推荐
相关产品推荐

