Win11私有网络部署pypi-server后pip安装报WinError10061求助
以下是针对该场景的可行排查和解决步骤:
确认pypi-server启动时的绑定主机
默认情况下pypi-server仅绑定127.0.0.1,仅允许本地回环访问。即便浏览器本地能访问,若pip请求使用机器私有IP(如192.168.x.x),就会触发连接失败。启动时需指定监听所有网卡:pypi-server --host 0.0.0.0 --port 8080 C:\your-packages-path启动后用
netstat -ano | findstr :8080确认监听地址为0.0.0.0:8080,而非仅127.0.0.1:8080。验证pip.ini配置准确性
打开C:\ProgramData\pip\pip.ini,确保配置格式正确,extra-index-url需指向pypi-server的/simple路径,trusted-host包含服务器IP或主机名:[global] extra-index-url = http://your-server-private-ip:8080/simple/ trusted-host = your-server-private-ip本地测试时,也可将地址设为
http://127.0.0.1:8080/simple/,避免localhost解析可能引发的问题。手动指定索引地址测试
跳过pip.ini配置,直接在pip安装命令中指定私有源,排除配置文件生效问题:pip install --index-url http://your-server-private-ip:8080/simple/ --trusted-host your-server-private-ip your-package-name升级pypi-server版本
pypi-server 1.5.1版本较老,可能存在与Python 3.9的兼容性问题。尝试升级到兼容版本:pip uninstall -y pypi-server pip install pypi-server==1.5.2 # 该版本兼容Python 3.9升级后重新启动服务器再测试pip安装。
排查系统代理干扰
若Windows系统开启代理,可能拦截pip对私有源的请求。临时关闭系统代理,或在pip.ini中添加以下配置禁用代理:[global] proxy =测试端口连通性
在执行pip安装的机器上,用PowerShell测试与pypi-server端口的连通性:Test-NetConnection your-server-private-ip -Port 8080若返回
TcpTestSucceeded : True则网络连通正常,否则需检查私有网络的路由、网段隔离等问题。
内容的提问来源于stack exchange,提问作者bmckenzie

