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

Windows环境pip安装gevent-websocket时gevent构建失败问题求助

Windows系统gevent wheel构建失败解决方案

错误原因

该报错是旧版本gevent内置的libuv库头文件,与msys2/mingw64环境的系统头文件mstcpip.h中的_TCP_INITIAL_RTO_PARAMETERS结构体重复定义冲突导致,属于环境适配类问题。

可用解决方案

方案1:使用预编译二进制包(推荐,无需本地编译)

执行安装命令时强制pip拉取官方预构建的wheel包,跳过源码编译步骤:

pip install gevent-websocket --only-binary :all:

如果提示找不到对应版本的预编译包,可先安装适配性更高的指定版本gevent,再安装gevent-websocket:

pip install gevent==23.9.1 --only-binary :all:
pip install gevent-websocket

方案2:修改源码解决冲突(适用于必须从源码编译的场景)

  1. 先下载gevent源码包到本地:
pip download gevent --no-binary :all:
  1. 解压下载的gevent源码压缩包,找到deps/libuv/src/win/winapi.h文件,定位到struct _TCP_INITIAL_RTO_PARAMETERS的定义代码段,在前后添加条件编译判断:
#ifndef _TCP_INITIAL_RTO_PARAMETERS_DEFINED
#define _TCP_INITIAL_RTO_PARAMETERS_DEFINED
// 此处保留原有的结构体定义内容不要修改
#endif
  1. 保存修改后,在源码根目录执行本地安装:
pip install .
  1. 安装完成gevent后,再正常执行pip install gevent-websocket即可。

方案3:切换编译环境

当前报错是mingw64的gcc编译环境导致,可切换为微软MSVC编译环境:安装Visual Studio的「桌面开发C++」工作负载后,在Visual Studio自带的Native Tools命令行终端执行安装命令,不会触发头文件冲突问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:06:02