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

连接公司VPN时pip正常但Poetry报连接错误是什么原因?

Poetry VPN环境连接异常问题解决方案

运行环境

  • Windows 10
  • pip 21.1
  • poetry 1.1.8
  • poetry-core 1.0.4

问题表现

  • 公共WiFi环境下,pip、Poetry均可正常安装软件包
  • 连接公司VPN后,pip运行正常,仅Poetry在依赖解析阶段抛出连接重置错误,错误日志如下:
Using version ^6.2.5 for pytest

Updating dependencies
Resolving dependencies...

  ConnectionError

  ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

  at c:\users\[redacted]\appdata\local\programs\python\python38\lib\site-packages\requests\adapters.py:498 in send
      494¦                     low_conn.close()
      495¦                     raise
      496¦
      497¦         except (ProtocolError, socket.error) as err:
    ? 498¦             raise ConnectionError(err, request=request)
      499¦
      500¦         except MaxRetryError as e:
      501¦             if isinstance(e.reason, ConnectTimeoutError):
      502¦                 # TODO: Remove this in 3.0.0: see #2811

根因说明

该问题由Poetry 1.1.x版本的网络配置逻辑差异导致:pip默认会自动读取系统代理、VPN下发的代理规则、pip配置文件中的镜像和证书设置,而1.1.x版本的Poetry默认不会复用上述配置,当公司VPN对对外网络请求做拦截、要求走内部镜像或使用自定义SSL证书时,Poetry发往默认源的请求会被服务端主动断开。

适配1.1.8版本的解决方案(无需升级Poetry)

  • 方案一:配置与pip一致的镜像源
    执行以下命令配置Poetry的镜像源,和本地pip使用的源保持一致即可:
    poetry config repositories.pypi <你的pip所用镜像源地址>
  • 方案二:运行时临时指定代理
    执行安装命令时携带VPN代理参数,端口和你本地VPN的代理端口一致:
    poetry install --proxy http://127.0.0.1:<VPN代理端口>
  • 方案三:调整SSL配置(仅公司可信网络环境下使用)
    关闭TLS验证:
    poetry config disable-tls true
    或配置公司自定义证书路径:
    poetry config certificates.pypi.cert <公司证书本地存储路径>
  • 方案四:强制Poetry调用pip执行安装
    在项目根目录的pyproject.toml中添加以下配置,开启后Poetry会直接调用底层pip执行所有安装操作,自动复用pip的全部网络配置:
[tool.poetry.installer]
pip = true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:06:05