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

安装getkey模块时出现UnicodeDecodeError错误的解决求助

getkey库安装UnicodeDecodeError报错解决方案

报错原因

该错误为Windows平台特有问题:系统默认控制台编码为GBK(即报错中提到的charmap编码),而getkey库的安装配置文件使用UTF-8编码编写,安装过程中读取文件时未指定编码格式,导致解码失败。

可行解决方案

方案1:临时修改控制台编码后安装

  • 按下Win+R输入cmd打开命令提示符窗口
  • 先执行编码切换命令:
    chcp 65001
  • 再执行常规pip安装命令即可:
    pip install getkey

方案2:强制指定Python编码安装

如果方案1执行后仍报错,运行安装命令时强制指定Python默认编码为UTF-8:
python -X utf8 -m pip install getkey

方案3:适配源码安装场景

如果是克隆GitHub源码后安装失败,可手动修改安装脚本:

  • 打开源码根目录下的setup.py文件
  • 找到所有调用open()读取文件的代码行(一般是读取README、LICENSE等说明文件的逻辑)
  • 给open()方法补充encoding='utf-8'参数,示例修改:
    原代码:f = open("README.md")
    修改后:f = open("README.md", encoding="utf-8")
  • 保存修改后重新执行python setup.py install即可

方案4:零依赖替代实现

如果仅需要实现「按下任意键启动计时器」的基础功能,可直接用Python标准库实现,无需安装第三方库:

import os
import sys

def wait_for_any_key():
    print("按下任意键启动计时器...")
    if sys.platform.startswith("win"):
        # Windows系统调用系统pause命令,>nul用于隐藏默认提示文本
        os.system("pause >nul")
    else:
        # 类Unix系统调用read命令实现无回显按任意键
        os.system("read -n 1 -s -r")

# 调用示例
wait_for_any_key()
# 此处添加启动计时器的逻辑

该实现跨平台兼容,完全避开第三方库安装问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:06:02