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

SUSE SLES 12SP3安装Python3时readline导入错误解决求助

解决SUSE SLES 12SP3中Python 3.6导入readline的错误

你这是踩了个典型的跨平台适配坑——Linux系统上误装了Windows专用的pyreadline包,才导致那些和ctypes.wintypes相关的奇怪错误。下面一步步帮你彻底解决,也给你临时跳过的方案:

一、彻底解决:移除错误包+补依赖重编译Python

1. 先删掉没用的pyreadline

这个包是给Windows系统用的,在Linux上完全起反作用,先卸载:

# 注意指定你安装的Python3.6对应的pip
sudo /usr/local/bin/pip3.6 uninstall -y pyreadline

2. 安装系统级readline开发依赖

你之前编译Python时,大概率没装SUSE的readline开发库,导致Python没能编译出Linux原生的readline模块,这才会触发后续的错误。补装依赖:

sudo zypper install readline-devel

3. 重新编译安装Python

回到你的Python源码目录,清理旧编译文件后重新编译:

cd /tmp/Python-3.6.4
make clean
./configure --prefix=/usr/local
make altinstall

4. 验证修复

现在运行/usr/local/bin/python3.6,应该不会再弹出Failed calling sys.__interactivehook__的错误了,而且交互模式下按上下箭头能调出历史命令,说明原生readline正常工作。

二、临时跳过错误的方法(不推荐长期用)

如果暂时不想重新编译,可以临时禁用触发错误的交互钩子:

  • 启动Python时加参数:
    python3.6 -s
    
  • 或者进入Python交互模式后执行:
    import sys
    sys.__interactivehook__ = lambda: None
    

但这个方法会丢失readline的历史记录、自动补全功能,只能作为临时应急方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:40:20