Python 学习记录(八)Pycharm导入第三方包报错问题……ValueError: check_hostname requires server_hostname

这篇博客描述了在Python环境中尝试安装包时遇到的网络问题。首先,错误提示指出尝试从系统终端运行命令并确保使用的是与Python解释器匹配的正确版本的pip。关闭默认开启的VPN后,问题部分得到解决,但随后出现新的错误,提示无法连接到代理,且在尝试安装numpy时找不到匹配的版本。作者尝试了不同版本和第三方库源,但问题仍然存在。最后,通过切换到不受校园网影响的网络(如手机热点),安装成功。然而,问题可能也与电脑安全设置有关,但更改防火墙设置并未解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.问题描述

导入任何包都包以下错误:

Try to run this command from the system terminal. Make sure that you use the correct version of 'pip' installed for your Python interpreter located at 'D:\pythonProject\venv\Scripts\python.exe'.

ERROR: Exception:
Traceback (most recent call last):
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\cli\base_command.py", line 180, in _main
    status = self.run(options, args)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\cli\req_command.py", line 204, in wrapper
    return func(self, options, args)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\commands\install.py", line 319, in run
    reqs, check_supported_wheels=not options.target_dir
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 128, in resolve
    requirements, max_rounds=try_to_avoid_resolution_too_deep
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 473, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 341, in resolve
    name, crit = self._merge_into_criterion(r, parent=None)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 172, in _merge_into_criterion
    if not criterion.candidates:
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\resolvelib\structs.py", line 139, in __bool__
    return bool(self._sequence)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 143, in __bool__
    return any(self)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 129, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 30, in _iter_built
    for version, func in infos:
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 272, in iter_index_candidate_infos
    hashes=hashes,
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 879, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 824, in find_all_candidates
    page_candidates = list(page_candidates_it)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\index\sources.py", line 134, in page_candidates
    yield from self._candidates_from_page(self._link)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 783, in process_project_url
    html_page = self._link_collector.fetch_page(project_url)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\index\collector.py", line 512, in fetch_page
    return _get_html_page(location, session=self.session)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\index\collector.py", line 422, in _get_html_page
    resp = _get_html_response(url, session=session)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\index\collector.py", line 137, in _get_html_response
    "Cache-Control": "max-age=0",
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "D:\pythonProject\venv\lib\site-packages\pip\_internal\network\session.py", line 449, in request
    return super().request(method, url, *args, **kwargs)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\cachecontrol\adapter.py", line 53, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 449, in send
    timeout=timeout
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 696, in urlopen
    self._prepare_proxy(conn)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\urllib3\connectionpool.py", line 964, in _prepare_proxy
    conn.connect()
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\urllib3\connection.py", line 359, in connect
    conn = self._connect_tls_proxy(hostname, conn)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\urllib3\connection.py", line 506, in _connect_tls_proxy
    ssl_context=ssl_context,
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py", line 432, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "D:\pythonProject\venv\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py", line 474, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "C:\Users\RS001\AppData\Local\Programs\Python\Python37\lib\ssl.py", line 423, in wrap_socket
    session=session
  File "C:\Users\RS001\AppData\Local\Programs\Python\Python37\lib\ssl.py", line 827, in _create
    raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname

 

2.问题来源

搜索相关资料显示是因为打开了vpn引起的,电脑确实默认开启了vpn,因此关闭vpn再测试一下是否确是由此引起。参考:python pip安装包时出现 ValueError: check_hostname requires server_hostname 错误 解决方法

点击退出vpn程序,关闭vpn代理,继续再次试一下:

确实进入下载状态了

不过继续报另外错误:

具体如下:


WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000018D893221C8>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))': /simple/numpy/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000018D89322848>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))': /simple/numpy/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000018D89322D08>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))': /simple/numpy/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000018D8933E1C8>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))': /simple/numpy/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000018D8933E5C8>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))': /simple/numpy/
ERROR: Could not find a version that satisfies the requirement numpy==1.21.0rc2 (from versions: none)
ERROR: No matching distribution found for numpy==1.21.0rc2

这里选择是默认版本:

由于python用的3.7. 根据错误提示,可能是版本原因,这里选择较低版本继续测试以上问题:

就是用之前安装成功做的1.19.5版本试试:

依然报同样错误。

换一个数据源试试,问题依旧。

使用多个第三方库都不行,这些库的网址能够正常访问。根据以上测试估计应该还是网络的问题。

3.解决办法

3.1使用--trusted-host pypi.python.org”允许此警告。

参考:在python中安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))

在三方库连接后面加上以上代码,如下:

如果是命令行窗口可直接使用:

pip install numpy -i https://pypi.python.org/simple --trusted-host pypi.python.org

依旧不行。

看来还是可能被网络中断了吧,用的校园网(教育网),断了校园网,usb连接手机共享网络,重复操作,手机网络是中国移动网络。

直接就安装成功了,没再报错,校园网是个坑,但是又有个问题,有的电脑又安装成功了,因此怀疑还可能和电脑的安全设置有关系。

结论就是:网络原因引起该问题

查看一下防火墙:

默认未勾选,都勾选上试试:

依旧不行,关闭防火墙也不行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空中旋转篮球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值