juypter notebook启动ssl报错的处理记录

错误信息如下:

(d2l) D:\coding\deep_learn\d2l-zh\pytorch>jupyter notebook

Traceback (most recent call last):

File "D:\software_env\anaconda3\envs\d2l\lib\runpy.py", line 194, in _run_module_as_main

return _run_code(code, main_globals, None,

File "D:\software_env\anaconda3\envs\d2l\lib\runpy.py", line 87, in _run_code

exec(code, run_globals)

File "D:\software_env\anaconda3\envs\d2l\Scripts\jupyter-notebook.EXE\main.py", line 4, in <module>

File "D:\software_env\anaconda3\envs\d2l\lib\site-packages\notebook\notebookapp.py", line 59, in <module>

from tornado import httpserver

File "<frozen importlib._bootstrap>", line 1039, in _handle_fromlist

File "D:\software_env\anaconda3\envs\d2l\lib\site-packages\tornado\init.py", line 66, in getattr

return importlib.import_module("." + name, name)

File "D:\software_env\anaconda3\envs\d2l\lib\importlib\init.py", line 127, in import_module

return _bootstrap._gcd_import(namelevel:, package, level)

File "D:\software_env\anaconda3\envs\d2l\lib\site-packages\tornado\httpserver.py", line 32, in <module>

from tornado.http1connection import HTTP1ServerConnection, HTTP1ConnectionParameters

File "D:\software_env\anaconda3\envs\d2l\lib\site-packages\tornado\http1connection.py", line 34, in <module>

from tornado import iostream

File "<frozen importlib._bootstrap>", line 1039, in _handle_fromlist

File "D:\software_env\anaconda3\envs\d2l\lib\site-packages\tornado\init.py", line 66, in getattr

return importlib.import_module("." + name, name)

File "D:\software_env\anaconda3\envs\d2l\lib\importlib\init.py", line 127, in import_module

return _bootstrap._gcd_import(namelevel:, package, level)

File "D:\software_env\anaconda3\envs\d2l\lib\site-packages\tornado\iostream.py", line 40, in <module>

from tornado.netutil import ssl_wrap_socket, _client_ssl_defaults, _server_ssl_defaults

File "D:\software_env\anaconda3\envs\d2l\lib\site-packages\tornado\netutil.py", line 35, in <module>

_client_ssl_defaults = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)

File "D:\software_env\anaconda3\envs\d2l\lib\ssl.py", line 750, in create_default_context

context.load_default_certs(purpose)

File "D:\software_env\anaconda3\envs\d2l\lib\ssl.py", line 574, in load_default_certs

self._load_windows_store_certs(storename, purpose)

File "D:\software_env\anaconda3\envs\d2l\lib\ssl.py", line 566, in _load_windows_store_certs

self.load_verify_locations(cadata=certs)

ssl.SSLError: ASN1: NOT_ENOUGH_DATA not enough data (_ssl.c:4194)

通过conda安装深度学习框架出现错误,参考 https://blog.csdn.net/xeqja/article/details/162229894 的解释,大概是证书过多导致python启动相关的证书逻辑出现错误

解决方法:

将原来旧的代码进行替换

这是旧的代码

python 复制代码
def _load_windows_store_certs(self, storename, purpose):
    certs = bytearray()
    try:
        for cert, encoding, trust in enum_certificates(storename):
            if encoding == "x509_asn":
                if trust is True or purpose.oid in trust:
                    certs.extend(cert)
    except PermissionError:
        warnings.warn("unable to enumerate Windows certificate store")
    return certs

替换为新的代码

python 复制代码
def _load_windows_store_certs(self, storename, purpose):
    certs = bytearray()
    try:
        for cert, encoding, trust in enum_certificates(storename):
            if encoding == "x509_asn":
                if trust is True or purpose.oid in trust:
                    try:
                        certs.extend(cert)
                    except Exception:
                        continue  # 跳过坏证书
    except PermissionError:
        warnings.warn("unable to enumerate Windows certificate store")
    return certs

替换成功后的截图:

注意点

替换的ssl.py是你通过conda安装后对应环境的,并不是conda的,如果只替换conda下的脚本,启动的时候,大概率还是有问题

如果对应python版本升级的话,也要注意对应的脚本会不会被替换

相关推荐
leisoo809713 小时前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
小柯南敲键盘14 小时前
跨马翻译:跨境电商批量图片翻译与视频字幕一站式工具
人工智能·python·音视频
卷无止境14 小时前
FastAPI Guard 全解析,从概念到工程落地的实战指南
后端·python
卷无止境14 小时前
FastAPI Users 全面解析:概念、原理与工程实战
后端·python
COOLMO研究AI15 小时前
Python 如何在 AI 接口中实现请求幂等性:防止重复提交与重复扣费
人工智能·python·php
CTA量化套保15 小时前
新手学量化,先做能复查的小流程
人工智能·python
ctlover15 小时前
Python文件操作
开发语言·python
AndrewHZ16 小时前
图像处理入门(第005期):颜色空间入门——RGB/HSV/CMYK/Lab
图像处理·python·opencv·hsv·rgb·色彩空间
风流 少年16 小时前
Spring AI 2.0:Tool
java·python·spring
郝学胜-神的一滴16 小时前
干货版《算法导论》17:二叉树核心原理、遍历逻辑与高阶实操全解
数据结构·c++·python·算法·计算机·编程