从Windows 10 Pro的主网站下载的新Python 3.7 64位安装程序。使用具有管理员权限的PowerShell。 Pip总是抛出ReadTimeoutError 。
命令:
python -m pip -vvv install --upgrade pip
返回以下内容:
未设置配置变量'Py_DEBUG',Python ABI标记可能不正确 配置变量“ WITH_PYMALLOC”未设置,Python ABI标签可能是 错误的创建的临时目录: C:\ Users \ vbfal \ AppData \ Local \ Temp \ pip-ephem-wheel-cache-sotpqqgg 创建的临时目录: C:\ Users \ vbfal \ AppData \ Local \ Temp \ pip-install-qqmlc7qa 1个位置 搜索点子的版本: * https://pypi.org/simple/pip/正在获取页面https://pypi.org/simple/pip/,查找“ https://pypi.org/simple/pip/” 缓存中没有可用的缓存条目开始新的HTTPS连接 (1):pypi.org的(URL ='/ simple / pip /')递增重试: 重试(总数= 4,连接=无,读取=无,重定向=无,状态=无) 重试(Retry(total = 4,connect = None,read = None,redirect = None, 状态被断开后) 'ReadTimeoutError(“ HTTPSConnectionPool(host ='pypi.org',port = 443): 读取超时。 (读取超时= 15)“)':/ simple / pip /开始新的HTTPS 连接(2):pypi.org的重试次数增加了(url ='/ simple / pip /'): 重试(总数= 3,连接=无,读取=无,重定向=无,状态=无) 重试(Retry(total = 3,connect = None,read = None,redirect = None, 状态被断开后) 'ReadTimeoutError(“ HTTPSConnectionPool(host ='pypi.org',port = 443): 读取超时。 (读取超时= 15)“)':/ simple / pip /开始新的HTTPS 连接(3):pypi.org的重试次数增加了(url ='/ simple / pip /'): 重试(总数= 2,连接=无,读取=无,重定向=无,状态=无) 重试(Retry(total = 2,connect = None,read = None,redirect = None, 状态被断开后) 'ReadTimeoutError(“ HTTPSConnectionPool(host ='pypi.org',port = 443): 读取超时。 (读取超时= 15)“)':/ simple / pip /开始新的HTTPS 连接(4):pypi.org的重试次数增加了(url ='/ simple / pip /'): 重试(总计= 1,连接=无,读取=无,重定向=无,状态=无) 重试(Retry(total = 1,connect = None,read = None,redirect = None, 状态被断开后) 'ReadTimeoutError(“ HTTPSConnectionPool(host ='pypi.org',port = 443): 读取超时。 (读取超时= 15)“)':/ simple / pip /开始新的HTTPS 连接(5):pypi.org的重试次数增加了(url ='/ simple / pip /'): 重试(总计= 0,连接=无,读取=无,重定向=无,状态=无) 重试(Retry(total = 0,connect = None,read = None,redirect = None, 状态被断开后) 'ReadTimeoutError(“ HTTPSConnectionPool(host ='pypi.org',port = 443): 读取超时。 (读取超时= 15)“)':/ simple / pip /开始新的HTTPS 连接(6):pypi.org无法获取URL https://pypi.org/simple/pip/:连接错误: HTTPSConnectionPool(host ='pypi.org',port = 443):超过最大重试次数 网址:/ simple / pip /(由 ReadTimeoutError(“ HTTPSConnectionPool(host ='pypi.org',port = 443):读 时间到。 (读取超时= 15)“))-跳过已安装的版本(10.0.1) 是最新的(过去版本:无) 最新:c:\ program files \ python37 \ lib \ site-packages中的pip (10.0.1)清理...未设置配置变量'Py_DEBUG',Python ABI标签可能不正确,未设置配置变量“ WITH_PYMALLOC”, Python ABI标签可能不正确1个用于搜索版本的位置 点数: * https://pypi.org/simple/pip/正在获取页面https://pypi.org/simple/pip/,查找“ https://pypi.org/simple/pip/” 缓存中没有可用的缓存条目开始新的HTTPS连接 (1):pypi.org无法获取URL https://pypi.org/simple/pip/: 连接错误:HTTPSConnectionPool(host ='pypi.org',port = 443):最大值 网址超出了重试次数:/ simple / pip /(由 ReadTimeoutError(“ HTTPSConnectionPool(host ='pypi.org',port = 443):读 时间到。 (读取超时= 5)“))-跳过
我尝试ping pypi,看起来还可以:
使用32个字节的数据ping pypi.org [151.101.64.223]:来自的回复 151.101.64.223:字节= 32时间= 12ms TTL = 57来自151.101.64.223的回复:字节= 32时间= 25ms TTL = 57来自151.101.64.223的回复:字节= 32 time = 17ms TTL = 57 151.101.64.223的回复:字节= 32时间= 211ms TTL = 57
151.101.64.223的Ping统计信息: 数据包:已发送= 4,已接收= 4,丢失= 0(丢失0%),大约往返时间(以毫秒为单位): 最小值= 12毫秒,最大值= 211毫秒,平均值= 66毫秒
乍一看,pypi.org似乎暗示了根本原因,并返回:
curl:请求已中止:无法创建SSL / TLS安全 渠道。在第1行:char:1 +卷曲pypi.org + ~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(System.Net.HttpWebRequest:HttpWebRequest)[Invoke-WebRequest], WebException + FullyQualifiedErrorId:WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
我运行以下命令强制curl使用TLS 1.2:
[Net.ServicePointManager] :: SecurityProtocol =“ tls12,tls11,tls”
然后使卷曲工作(仅用于会话)返回状态200。
但是,a,pip不断抛出上面完全相同的错误消息。我也曾尝试将超时范围增加到100甚至增加到1000,如其他文章所建议的那样,因为Windows,但是,正如预期的那样,失败只花了更长的时间。
请问有人可以帮助我解密并修复这些问题吗?非常感谢!
(目前无法切换到Linux ...)
答案 0 :(得分:1)
IPv4 优先于 IPv6(正如林池宇所写)。
从提升的命令提示符(按“开始”,键入“CMD”,右键单击“命令提示符”并选择“以管理员身份运行”):
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 46 4
答案 1 :(得分:0)
我知道这是一篇旧文章,但是尝试提供帮助却遇到了同样的问题。
通过将优先级从IPv6更改为IPv4来解决此问题。
您可以尝试暂时禁用IPv6协议,然后再次尝试PIP。如果可行,我建议重新激活IPv6,然后搜索IPv4优先于IPv6的优先级,其实现方式因操作系统而异。