【发布时间】:2021-11-02 08:19:04
【问题描述】:
File "...\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\connection.py", line 500, in _connect_tls_proxy
return ssl_wrap_socket(
File "...\AppData\Local\Programs\Python\Python310\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 "...\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock)
File "...\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 512, in wrap_socket
return self.sslsocket_class._create(
File "...\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1027, in _create
raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname
无论我尝试什么 - pip 返回相同的错误消息。而且我很难追查这个问题的原因。
环境:Windows 10(最新版本),代理。 代理已设置(也在变量中)。它有效。此外,我编写了一个简单的 python 程序,使用 urllib 的请求检索网页 - 它可以在这个代理服务器上运行。
我尝试通过命令行在 pip 中强制代理,我尝试使用所有这些受信任的主机参数 - 一切都失败了。我直接从网页重新安装了python。什么都没有。
奇怪的是——同样的代理可以在 linux 系统上完美运行。 F.e.命令:
pip3 install panda --proxy http://192.168.100.30:8088
在 Linux 上工作(相同的子网、相同的代理、相同的防火墙),但在我尝试的每个 Windows 上都失败(我尝试过其他系统)。这意味着我仍然缺少 Windows 机器上的一些代理设置。但是哪个?为什么python环境中的请求与代理完全没有问题?
【问题讨论】:
-
两个系统上的
pip --version不同? -
好点。我升级了linux上的版本。 21.3.1.仍然有效。在 Windows 上,我有来自安装程序的版本 - 21.2.3。由于上述问题,无法升级。但这种差异应该是个问题。
-
通过轮子升级
pip:stackoverflow.com/a/68945239/7976758 -
奇怪。我确实通过轮子进行了升级。现在我确实有相同的版本,但不同的错误:警告:在连接被'ProxyError('无法连接到proxy.', NewConnectionError('
: 无法建立新连接: [Errno 11001] getaddrinfo failed'))': /simple/django/ -
这就是我的想法,但奇怪的是,使用网页完全没有问题,使用 urllib 下载页面,许多其他包管理器也可以正常工作。我在我的 linux 机器上使用相同的 DNS 设置。但我会尝试朝这个方向挖掘。无论如何,我能够使用下载的轮子安装我需要的东西,所以我不再那么紧急了。