How To Fix ValueError: Check_hostname Requires Server_HostName

When you run the pip command to install, uninstall a python package, you may encounter the error message ValueError: check_hostname requires server_hostname like below. This article will tell you how to fix it.

1. The Detail Message Of The ValueError: Check_hostname Requires Server_HostName.

  1. Below is the detailed error message of this error.
    ERROR: Exception:
    Traceback (most recent call last):
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\cli\base_command.py", line 173, in _main
        status = self.run(options, args)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\cli\req_command.py", line 203, in wrapper
        return func(self, options, args)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\commands\install.py", line 315, in run
        requirement_set = resolver.resolve(
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 94, in resolve
        result = self._result = resolver.resolve(
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 472, in resolve
        state = resolution.resolve(requirements, max_rounds=max_rounds)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 341, in resolve
        self._add_to_criteria(self.state.criteria, r, parent=None)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 172, in _add_to_criteria
        if not criterion.candidates:
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\resolvelib\structs.py", line 151, in __bool__
        return bool(self._sequence)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 140, in __bool__
        return any(self)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\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 "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 29, in _iter_built
        for version, func in infos:
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 272, in iter_index_candidate_infos
        result = self._finder.find_best_candidate(
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\index\package_finder.py", line 851, in find_best_candidate
        candidates = self.find_all_candidates(project_name)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\index\package_finder.py", line 798, in find_all_candidates
        page_candidates = list(page_candidates_it)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\index\sources.py", line 134, in page_candidates
        yield from self._candidates_from_page(self._link)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\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 "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\index\collector.py", line 490, in fetch_page
        return _get_html_page(location, session=self.session)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\index\collector.py", line 400, in _get_html_page
        resp = _get_html_response(url, session=session)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\index\collector.py", line 115, in _get_html_response
        resp = session.get(
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\requests\sessions.py", line 555, in get
        return self.request('GET', url, **kwargs)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_internal\network\session.py", line 454, in request
        return super().request(method, url, *args, **kwargs)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\requests\sessions.py", line 542, in request
        resp = self.send(prep, **send_kwargs)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\requests\sessions.py", line 655, in send
        r = adapter.send(request, **kwargs)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\cachecontrol\adapter.py", line 53, in send
        resp = super(CacheControlAdapter, self).send(request, **kw)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\requests\adapters.py", line 439, in send
        resp = conn.urlopen(
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 696, in urlopen
        self._prepare_proxy(conn)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 964, in _prepare_proxy
        conn.connect()
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\urllib3\connection.py", line 359, in connect
        conn = self._connect_tls_proxy(hostname, conn)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\urllib3\connection.py", line 500, in _connect_tls_proxy
        return ssl_wrap_socket(
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\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 "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
        return ssl_context.wrap_socket(sock)
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\ssl.py", line 500, in wrap_socket
        return self.sslsocket_class._create(
      File "C:\Users\zhaosong\anaconda3\envs\MyPythonEnv\lib\ssl.py", line 997, in _create
        raise ValueError("check_hostname requires server_hostname")
    ValueError: check_hostname requires server_hostname

2. How To Fix The ValueError: Check_hostname Requires Server_HostName.

  1. This error is because you are using some proxy server ( for example SSR or v2ray) to access the internet。
  2. To fix the error just close and exit the proxy server that you are using. Then you can manage the python package with the pip command successfully.

3. Other Use Cases That Through This Error.

  1. When I start anaconda navigator, at the end of the start process, the anaconda opens a web page and I find this error on the web page, below is the detailed error message.
    Report
    Please report this issue in the anaconda issue tracker
    
    Main Error
    check_hostname requires server_hostname
    Traceback
    Traceback (most recent call last):
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\exceptions.py", line 72, in exception_handler
        return_value = func(*args, **kwargs)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\app\start.py", line 146, in start_app
        window = run_app(splash)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\app\start.py", line 65, in run_app
        window = MainWindow(splash=splash)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\widgets\main_window.py", line 165, in __init__
        self.api = AnacondaAPI()
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\api\anaconda_api.py", line 1518, in AnacondaAPI
        ANACONDA_API = _AnacondaAPI()
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\api\anaconda_api.py", line 83, in __init__
        self._client_api = ClientAPI(config=self.config)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\api\client_api.py", line 659, in ClientAPI
        CLIENT_API = _ClientAPI(config=config)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\api\client_api.py", line 95, in __init__
        self.reload_client()
      File "C:\Users\Jerry\anaconda3\lib\site-packages\anaconda_navigator\api\client_api.py", line 326, in reload_client
        client.user()
      File "C:\Users\Jerry\anaconda3\lib\site-packages\binstar_client\__init__.py", line 244, in user
        res = self.session.get(url, verify=self.session.verify)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\requests\sessions.py", line 555, in get
        return self.request('GET', url, **kwargs)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\requests\sessions.py", line 542, in request
        resp = self.send(prep, **send_kwargs)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\requests\sessions.py", line 655, in send
        r = adapter.send(request, **kwargs)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\requests\adapters.py", line 439, in send
        resp = conn.urlopen(
      File "C:\Users\Jerry\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen
        self._prepare_proxy(conn)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
        conn.connect()
      File "C:\Users\Jerry\anaconda3\lib\site-packages\urllib3\connection.py", line 359, in connect
        conn = self._connect_tls_proxy(hostname, conn)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\urllib3\connection.py", line 500, in _connect_tls_proxy
        return ssl_wrap_socket(
      File "C:\Users\Jerry\anaconda3\lib\site-packages\urllib3\util\ssl_.py", line 432, in ssl_wrap_socket
        ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
      File "C:\Users\Jerry\anaconda3\lib\site-packages\urllib3\util\ssl_.py", line 474, in _ssl_wrap_socket_impl
        return ssl_context.wrap_socket(sock)
      File "C:\Users\Jerry\anaconda3\lib\ssl.py", line 500, in wrap_socket
        return self.sslsocket_class._create(
      File "C:\Users\Jerry\anaconda3\lib\ssl.py", line 997, in _create
        raise ValueError("check_hostname requires server_hostname")
    ValueError: check_hostname requires server_hostname
  2. The fixing method is the same that just quitting the proxy client.

3 thoughts on “How To Fix ValueError: Check_hostname Requires Server_HostName”

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Clicky