运行pylint检测Python脚本时末尾报错无法创建缓存目录怎么办
pylint运行末尾报缓存目录创建失败解决方案
问题原因
该报错是pylint默认开启了缓存持久化功能,执行完成后会尝试向系统默认用户路径写入统计缓存文件,但当前Windows账户对C:\Users\USER\AppData\Local\pylint\pylint\Cache路径无读写权限,或对应父级目录不存在导致创建失败。pylint会因此返回非0退出码,而makefile默认遇到非0返回值就会中断后续任务执行。
解决方法
方案1:手动创建缓存目录(一劳永逸)
直接在资源管理器中创建路径C:\Users\USER\AppData\Local\pylint\pylint\Cache,右键该目录选择「属性-安全」,给当前Windows用户授予该目录的「读取和写入」权限即可。方案2:关闭pylint持久化缓存功能
单次运行时在命令后加参数关闭缓存:pylint --persistent=no script.py如果要全局生效,可在项目根目录创建
.pylintrc配置文件,添加如下配置:persistent=no后续运行pylint会自动读取配置,无需每次追加参数。
方案3:修改makefile忽略任务报错(临时治标)
如果不想修改pylint相关配置,可在makefile的pylint命令前增加减号,让make忽略该条命令的非0返回值继续执行后续任务:- pylint script.py注意该方案仅避免任务中断,报错信息仍会打印。
方案4:自定义缓存目录到项目路径
可将pylint缓存路径指定到当前项目目录下,规避系统目录权限问题:pylint --cache-dir=./.pylint_cache script.py
内容的提问来源于stack exchange,提问作者Dominik Sajovic
相关产品推荐
相关产品推荐

