yfinance调用msft.info报SSL证书验证失败及权限错误如何解决
解决步骤
1. 先修复权限报错(Errno 13)
你遇到的权限拒绝错误是因为直接运行Install Certificates.command时没有管理员权限,无法写入系统级Python的site-packages目录,按以下操作处理:
- 打开Mac终端
- 执行以下命令,根据提示输入你的开机密码即可完成证书安装:
sudo "/Applications/Python 3.8/Install Certificates.command"
2. 若上述操作后仍存在SSL验证错误,可选择以下任意方案处理
方案A:临时关闭SSL验证(不建议长期使用,仅用于临时测试)
在你的代码开头新增两行代码跳过SSL校验:
import ssl # 全局关闭SSL证书验证 ssl._create_default_https_context = ssl._create_unverified_context import yfinance as yf msft = yf.Ticker("MSFT") print(msft.info)
方案B:手动升级证书依赖包
用管理员权限升级certifi证书库,执行终端命令:
sudo pip3 install --upgrade certifi
如果当前使用Python虚拟环境,可去掉sudo直接执行升级命令即可。
方案C:排查代理影响
如果你当前运行网络环境开启了代理,代理的自签名证书未被系统信任也会触发该错误:
- 可临时关闭代理后再运行代码
- 或者将代理的根证书添加到系统钥匙串,并设置为全局信任
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

