Windows安装Emscripten出现Python SSL根证书相关报错如何解决
解决Windows下安装Emscripten的SSL证书与certifi更新失败问题
问题核心原因
emsdk调用的Python环境缺少可信任的2048位及以上SSL根证书,同时Anaconda环境预安装的旧版certifi包由distutils管理,默认pip无法直接卸载更新。
可行解决方案(按操作优先级排序)
方案1:强制覆盖更新certifi
直接在Anaconda提示符中执行以下命令,跳过卸载旧版本的步骤直接覆盖安装新版certifi:pip install --upgrade --ignore-installed certifi安装完成后重新打开emcmdprompt.bat执行
emsdk install latest即可。方案2:手动指定SSL根证书路径
如果强制更新失败,可手动指定Python使用的根证书文件:- 在Anaconda提示符中执行以下命令,获取certifi内置的根证书文件路径:
python -c "import certifi; print(certifi.where())"- 临时生效:在emcmdprompt.bat中先执行证书路径配置命令,再运行安装命令(将下方路径替换为你上一步拿到的实际路径):
set SSL_CERT_FILE=C:\xxx\anaconda\lib\site-packages\certifi\cacert.pem emsdk install latest- 永久生效:在Windows系统环境变量中新增变量
SSL_CERT_FILE,值为上一步获取的证书完整路径,重启命令行工具后即可正常安装。
方案3:手动预下载依赖包跳过安装校验
若证书问题暂时无法解决,可手动下载缺失的依赖包跳过在线下载步骤:- 从报错提示的URL下载对应版本的node安装包
node-v14.15.5-win-x64.zip - 将下载的压缩包放到emsdk根目录下的
zips文件夹中(如果没有该文件夹则手动新建) - 重新执行
emsdk install latest,工具会直接读取本地压缩包完成安装,无需在线下载。
- 从报错提示的URL下载对应版本的node安装包
方案4:确认emsdk调用的Python环境
若以上方案都无效,大概率是emsdk调用的Python不是你当前Anaconda环境的Python:- 在emcmdprompt.bat中执行
where python,查看当前生效的Python路径 - 进入该Python路径下的
Scripts文件夹,在地址栏输入cmd回车打开命令行 - 执行
pip install --upgrade --ignore-installed certifi更新对应环境的证书包,之后再重新运行emsdk安装命令。
- 在emcmdprompt.bat中执行
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

