运行Python象棋程序报错ModuleNotFoundError: No module named 'chess.uci'如何解决
报错根因
你安装的是v1.0.0及以上版本的python-chess库,该版本对模块结构做了不兼容变更:原chess.uci模块被整体迁移到chess.engine路径下,因此旧代码的导入语句会触发模块不存在的报错。
ModuleNotFoundError: No module named 'chess.uci'
两种解决方案
你可以任选一种操作:
- 方案1:降级安装兼容旧API的
python-chess版本,无需修改代码即可直接运行目标程序
执行安装命令:py -m pip install chess==0.23.11 - 方案2:修改目标程序的代码适配新版
python-chess- 将第7行的
import chess.uci替换为import chess.engine - 全局替换代码中所有
chess.uci.前缀为chess.engine.,其他逻辑无需改动即可正常运行
- 将第7行的
额外排查点
如果执行上述操作后仍报错,确认你执行pip安装命令的Python环境,和你运行代码用的Python环境是同一个,避免出现多版本Python环境下依赖安装错位的问题。
内容的提问来源于stack exchange,提问作者Patzer
相关产品推荐
相关产品推荐

