Python安装pywinpty>=1.1.0提示Cargo未安装报错如何解决
报错原因
配置AWS Glue连接所需Python环境时,执行pip install --upgrade jupyter boto3 aws-glue-sessions命令安装依赖过程中pywinpty>=1.1.0安装失败,核心原因如下:
pip拉取到pywinpty 2.0.5版本的源码包触发本地编译流程,该版本的扩展模块编译依赖Rust语言的包管理工具Cargo,当前系统未安装Rust工具链,或工具链安装路径未加入系统PATH环境变量,最终导致包元数据生成阶段报错退出。
解决方案
按优先级从高到低尝试以下方案即可修复:
- 方案一:跳过源码编译,直接安装预编译二进制版本的pywinpty
单独执行以下命令,强制pip仅使用官方预编译的wheel包安装pywinpty,避免触发本地编译:pip install --only-binary=:all: pywinpty>=1.1.0
待pywinpty安装完成后,重新执行原来的AWS Glue依赖安装命令即可。 - 方案二:安装Rust编译工具链满足源码编译要求
如果方案一找不到匹配当前Python版本、系统版本的预编译包,可先安装Rust官方编译工具链:运行Rust Windows安装包,保持默认配置完成安装,安装程序会自动将Cargo相关路径添加到系统PATH。安装完成后重启终端让环境变量生效,再重新执行原依赖安装命令即可正常编译安装pywinpty。 - 方案三:通过conda渠道安装pywinpty(仅适用于conda虚拟环境用户)
如果你使用Anaconda/Miniconda管理Python环境,可以直接通过conda源安装适配当前平台的预编译pywinpty,无需额外配置编译环境:conda install pywinpty
安装完成后再执行原pip依赖安装命令即可。
内容的提问来源于stack exchange,提问作者Kranthi Kumar
相关产品推荐
相关产品推荐

