You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2 Ubuntu环境下pip命令因NewConnectionError重试失败求助

解决WSL2中pip域名解析失败的问题

1. 排查基础网络连通性

  • 测试网络链路:执行ping 8.8.8.8,若能收到响应,说明WSL网络链路正常,问题出在DNS解析;若不通,需检查WSL与Windows的网络桥接状态。
  • 测试域名解析:执行ping pypi.org,若提示Name or service not known,确认是DNS解析故障。

2. 修复WSL2的DNS配置

WSL2默认从Windows同步DNS,易出现异常,手动指定公共DNS:

  • 备份原有DNS配置:
    sudo cp /etc/resolv.conf /etc/resolv.conf.bak
    
  • 写入公共DNS服务器:
    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    
  • 防止WSL自动覆盖配置:创建/etc/wsl.conf文件并写入规则:
    sudo tee /etc/wsl.conf << EOF
    [network]
    generateResolvConf = false
    EOF
    

3. 重置WSL2网络栈

在Windows管理员权限的PowerShell中执行:

wsl --shutdown

等待几秒后重新打开WSL,再测试pip命令。

4. 切换pip镜像源(可选)

若DNS问题仍存在,临时用国内镜像源绕过解析问题:

python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

永久配置镜像源,创建~/.pip/pip.conf文件:

mkdir -p ~/.pip
tee ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF

5. 清理代理环境变量残留

即使关闭Windows代理,WSL可能残留代理变量:

  • 检查变量:
    echo $http_proxy
    echo $https_proxy
    
  • 若有输出,清空变量:
    unset http_proxy https_proxy
    

内容的提问来源于stack exchange,提问作者Bella Ando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 06:47:17