文章目录

前文

  在往新机器上安装salt-minion和salt-api的时候,一切正常,然后从master同步模块过去也正常,当使用的时候就报错:

__virtual__ returned False: cannot import name certs

  看到这个错误我就一脸懵逼,因为salt-api相关的模块里并没有用到所谓的certs模块,所以报错无法插入该模块,就不知道是哪个模块!

解决思路

  开启谷歌大法,然后就搜到了这一篇关于saltstack的issue,问题和我的问题简直一模一样,链接:https://github.com/saltstack/salt/issues/43937
  通过文章里讲的,知道是requests的相关模块出问题了,于是我就手动试着导入,结果发现真的无法导入,报错如下:
在这里插入图片描述
  所以无法导入certs模块基本是由于urllib3引起的,因为我进入requests所在的第三方包目录,清晰地发现certs.py存在着:
在这里插入图片描述
  因此根据文章里所说,解决思路重新安装requests和urllib3即可:
在这里插入图片描述
  不过我不用重新安装requests,直接卸载urllib3并制定版本安装即可(发现最新版安装的时候还会报错,故指定版本即可),相关命令如下:

pip uninstall urllib3
pip uninstall chardet
pip install -I urllib3==2.6
pip install -I urllib3==1.10.2
python -c 'import requests'
python -c 'import urllib3'

  安装结束后,重新手动导入,发现两个模块都能成功导入了!
在这里插入图片描述

总结

  不得不说,还是google大法好,相关issue一下子就定位出来了,最后问题也是成功解决了~

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐