MacBook Pro上为Jupyter Notebook安装Python3.5内核的SSL证书问题
解决Python3.5内核安装时的SSL证书问题
刚看到你在MacBook Pro上安装Python3.5内核时遇到了SSL证书错误,这大概率是因为新安装的Python3.5.4自带的证书库不全,或者pip版本过低导致的。下面是一步步的解决办法:
步骤1:升级Python3.5的pip和证书库
新安装的Python版本通常pip版本比较旧,而且默认的certifi证书可能没有同步最新的根证书。我们可以通过添加信任参数绕过临时的SSL验证,先完成pip和certifi的升级:
# 升级pip到最新版本 python3.5 -m pip install --upgrade pip --trusted-host pypi.org --trusted-host files.pythonhosted.org # 升级certifi证书库 python3.5 -m pip install --upgrade certifi --trusted-host pypi.org --trusted-host files.pythonhosted.org
步骤2:安装ipykernel到Python3.5环境
现在证书问题应该已经缓解了,接下来安装Jupyter内核需要的ipykernel包:
python3.5 -m pip install ipykernel --trusted-host pypi.org --trusted-host files.pythonhosted.org
步骤3:注册Python3.5到Jupyter内核列表
安装完成后,把Python3.5注册到Jupyter的内核管理中:
python3.5 -m ipykernel install --user --name=python3.5 --display-name="Python 3.5"
步骤4:验证安装结果
打开Jupyter Notebook,点击顶部的「Kernel」菜单,看看是否出现了「Python 3.5」的选项;或者在终端执行以下命令查看已安装的内核:
jupyter kernelspec list
如果输出里包含python3.5的路径,就说明安装成功了。
额外解决方案:如果系统SSL证书不同步
如果上面的步骤还是不行,可能是Python3.5没有读取到Mac系统的SSL证书。你可以把系统证书复制到Python3.5的certifi目录:
- 先找到Python3.5的site-packages路径:
python3.5 -c "import site; print(site.getsitepackages())" - 找到certifi文件夹下的
cacert.pem文件,先备份一份,然后把系统证书/etc/ssl/cert.pem复制过去替换它:# 假设site-packages路径是/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages cp /etc/ssl/cert.pem /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/certifi/cacert.pem
替换后再重新执行安装步骤即可。
内容的提问来源于stack exchange,提问作者Jason




