求助:移除预加载Python模块及解决kitsu模块AttributeError循环导入问题
解决kitsu模块的循环导入错误
你的问题其实不是预加载模块没删干净,而是脚本文件名和要导入的kitsu模块重名了!看你的错误日志里的路径:c:\Users\ssolmonson\AppData\Local\Programs\Python\Github\Personal\kitsu.py,你把自己的测试脚本命名成了kitsu.py,这就导致Python在执行时,优先加载当前目录下的这个文件作为kitsu模块,而不是你安装在site-packages里的官方kitsu.py模块。当你在脚本里写import kitsu时,其实是在导入你自己的这个脚本,然后脚本里又调用kitsu.client(),这就形成了循环导入,自然会报错。
快速修复步骤
- 第一步:立刻重命名你的测试脚本,比如改成
kitsu_test.py,绝对不能再用kitsu.py这个名字。 - 第二步:删除当前目录下自动生成的
__pycache__文件夹(如果有的话),这个文件夹缓存了错误的模块加载信息。 - 第三步:重新运行你的测试脚本,这时候Python就会正确加载site-packages里的kitsu模块了。
关于你之前的卸载操作
你之前尝试卸载和删除site-packages里的文件其实没必要,因为问题根本不在模块本身。不过如果还是担心,可以做以下操作确认模块状态:
- 打开Python交互环境,输入
import kitsu; print(kitsu.__file__),如果输出的是site-packages目录下的路径,说明模块是正常安装的;如果输出的是你自己的脚本路径,那就是文件名的问题还没解决。 - 用
pip show kitsu.py可以查看模块的安装路径,确认它在site-packages里。
额外提醒
以后写Python脚本时,一定要避免脚本文件名和你要导入的第三方模块同名,否则都会出现这种循环导入或者模块找不到属性的错误,这是新手很容易踩的坑。
内容的提问来源于stack exchange,提问作者sam.solo.works
相关产品推荐
相关产品推荐

