ValueError check_hostname requires server_hostname 报错

一、报错再现

我准备了一个工具环境,这里面有一些工具包需要安装,当我运行一下代码:

pip install -r requirements-cpu.txt

回车过后,发生了如下报错:

ERROR: Exception:
Traceback (most recent call last):
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\cli\base_command.py", line 173, in _main
    status = self.run(options, args)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\cli\req_command.py", line 203, in wrapper
    return func(self, options, args)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\commands\install.py", line 316, in run
    reqs, check_supported_wheels=not options.target_dir
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 95, in resolve
    collected.requirements, max_rounds=try_to_avoid_resolution_too_deep
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 472, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 341, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\resolvelib\structs.py", line 151, in __bool__
    return bool(self._sequence)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 140, in __bool__
    return any(self)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 128, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 29, in _iter_built
    for version, func in infos:
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 275, in iter_index_candidate_infos
    hashes=hashes,
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\index\package_finder.py", line 851, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\index\package_finder.py", line 798, in find_all_candidates
    page_candidates = list(page_candidates_it)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\index\sources.py", line 134, in page_candidates
    yield from self._candidates_from_page(self._link)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\index\package_finder.py", line 758, in process_project_url
    html_page = self._link_collector.fetch_page(project_url)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\index\collector.py", line 490, in fetch_page
    return _get_html_page(location, session=self.session)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\index\collector.py", line 400, in _get_html_page
    resp = _get_html_response(url, session=session)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\index\collector.py", line 132, in _get_html_response
    "Cache-Control": "max-age=0",
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_internal\network\session.py", line 454, in request
    return super().request(method, url, *args, **kwargs)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\cachecontrol\adapter.py", line 53, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\requests\adapters.py", line 449, in send
    timeout=timeout
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 696, in urlopen
    self._prepare_proxy(conn)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 964, in _prepare_proxy
    conn.connect()
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\urllib3\connection.py", line 359, in connect
    conn = self._connect_tls_proxy(hostname, conn)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\urllib3\connection.py", line 506, in _connect_tls_proxy
    ssl_context=ssl_context,
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py", line 453, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "D:\Anaconda\envs\rknn\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "D:\Anaconda\envs\rknn\lib\ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
  File "D:\Anaconda\envs\rknn\lib\ssl.py", line 773, in __init__
    raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname

报错的关键句是:

ValueError: check_hostname requires server_hostname

二、原因分析

从报错的关键句看,他这个错误通常意味着在进行 HTTPS 请求时缺少了服务器的主机名信息,这可能由以下原因导致:

  1. 检查网络连接和代理设置:确保你的网络连接正常,没有任何代理设置干扰了 HTTPS 请求的正常进行。

  2. 更新 OpenSSL:有时候旧版本的 OpenSSL 会导致一些 SSL/TLS 相关的问题。尝试更新 OpenSSL 到最新版本,或者升级你的 Python 或者相关的库到最新版本。

  3. 检查 SSL/TLS 配置:如果你有自定义的 SSL/TLS 配置,例如在使用自签名证书或者需要特定的 SSL/TLS 版本,确保这些配置正确并且与服务器配置相匹配。

  4. 检查 URL 和请求:确认你的请求的 URL 是正确的,并且没有拼写错误或者其他问题。

三、解决方案

大部分是产生于原因②,因为你正在使用一些代理软件。(反正我是这个原因导致的)例如:V2ray, SSR,Charles,Fiddler,mitm,…

如果真的是这样,那么你关掉代理软件或者清空系统代理,再重新运行之前失败的命令,我相信应该能解决问题了。

四、参考文献

[1]Stack Overflow. (2021). ValueError: check_hostname requires server_hostname. [Online Forum Comment]. Stack Overflow. Retrieved November 3, 2023, from https://stackoverflow.com/questions/67297278/valueerror-check-hostname-requires-server-hostname

相关推荐

  1. IDEA

    2024-02-18 08:46:02       39 阅读
  2. sqoop运行

    2024-02-18 08:46:02       43 阅读
  3. yarn install

    2024-02-18 08:46:02       39 阅读
  4. 安装Paddlehub

    2024-02-18 08:46:02       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-18 08:46:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-18 08:46:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-18 08:46:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-18 08:46:02       20 阅读

热门阅读

  1. WordPress Nginx 报错 502 Bad Gateway

    2024-02-18 08:46:02       86 阅读
  2. C语言:螺旋阵

    2024-02-18 08:46:02       31 阅读
  3. Nginx七层负载均衡之动静分离

    2024-02-18 08:46:02       25 阅读
  4. 服务器项目中的常考问题

    2024-02-18 08:46:02       27 阅读
  5. 开发实体类

    2024-02-18 08:46:02       28 阅读
  6. 【AI写文章】解释 Git 的基本概念和使用方式

    2024-02-18 08:46:02       29 阅读
  7. vllm 库调用大模型

    2024-02-18 08:46:02       32 阅读