重装PyCharm后单元测试路径错误引发AttributeError异常求助
解决PyCharm重装后单元测试的AttributeError问题
刚重装PyCharm后遇到AttributeError: 'module' object has no attribute 'src'的单元测试导入错误?我猜你已经注意到了——PyCharm默认把整个项目根目录作为unittest命令的--target参数传入,但你的项目根目录里还有非包目录,导致Python找不到src模块的正确路径。
下面是我亲测有效的解决步骤:
第一步:标记源码根目录
右键点击项目里的src目录,选择Mark Directory as->Sources Root。这一步会告诉PyCharm,这个目录是Python源码的根路径,后续导入模块时会自动把它加入sys.path里,代码里的导入红线也会消失。第二步:修正单元测试的运行配置
- 点击PyCharm右上角的运行配置下拉菜单,选择
Edit Configurations... - 在配置列表里找到你当前用的Unittest配置(如果是单个测试文件,可能是自动生成的)
- 找到
Target选项,把原来的项目根目录完整路径改成你的src目录路径(比如/Users/xxx/Projects/your-project/src) - 顺便检查下
Working directory,确保它指向项目根目录,这样测试里用到的相对路径才不会出错
- 点击PyCharm右上角的运行配置下拉菜单,选择
第三步:设置默认测试模板(可选)
如果你不想每次新建测试配置都改一遍,可以修改默认模板:
在Edit Configurations窗口左侧,展开Defaults-> 选择Unittest,把默认的Target改成src目录路径。这样后续新建的测试运行配置都会自动用这个设置。
最后重新运行单元测试,看控制台的命令行,--target参数应该已经指向src目录了,这时候导入src下的模块就不会再报属性错误啦。
内容的提问来源于stack exchange,提问作者David Parks
相关产品推荐
相关产品推荐

