运行pipreqs出现NewConnectionError连接pypi失败故障求助
故障原因
你遇到的[Errno 11001] getaddrinfo failed报错属于DNS解析故障,系统无法将pypi.python.org域名解析为对应的服务器IP,导致pipreqs请求PyPI服务器查询包信息失败,该问题属于网络层面问题,和pipreqs版本无关,因此升级pipreqs无法解决故障。
解决方案
- 方案1:修改本地hosts文件绑定解析
Windows系统下以管理员权限打开记事本,打开路径C:\Windows\System32\drivers\etc\hosts的文件,在末尾添加一行配置后保存:
保存后重新运行pipreqs命令即可。151.101.0.223 pypi.python.org - 方案2:给pipreqs指定国内PyPI镜像源
运行pipreqs时追加pypi-server参数,使用国内镜像替代官方源,避免解析问题:pipreqs ./ --pypi-server https://pypi.tuna.tsinghua.edu.cn/simple - 方案3:使用离线模式生成依赖文件
如果你的本地虚拟环境已经安装了项目所需的全部依赖,可直接使用无PyPI请求模式生成requirements.txt,无需发起网络请求:pipreqs ./ --mode no-pypi - 方案4:检查本地网络配置
检查当前设备是否开启了代理、VPN类工具,如有则先关闭后重试;或配置Python全局网络代理,确保请求可以正常到达PyPI服务器。
内容的提问来源于stack exchange,提问作者user15785950
相关产品推荐
相关产品推荐

