Jupyter安装seaborn报AttributeError: pexpect无TIMEOUT属性怎么办
问题场景
在Jupyter Notebook环境中安装seaborn模块时触发安装失败,抛出的具体错误信息如下:
AttributeError: module 'pexpect' has no attribute 'TIMEOUT'
Jupyter界面报错截图如下:
故障原因
该错误和seaborn包本身无关,是当前运行环境中pexpect依赖包安装损坏、版本不兼容导致的。Jupyter内核执行系统命令、调用安装进程的逻辑需要引用pexpect模块的TIMEOUT属性,当pexpect版本异常或安装文件缺失时,就会触发该属性不存在的报错。
解决方法
- 先完全关闭当前运行的Jupyter Notebook服务,退出所有相关内核进程
- 打开当前Jupyter对应环境的终端(如果使用虚拟环境/conda环境需要先激活对应环境),执行命令强制重装兼容版pexpect:
pip install --upgrade --force-reinstall pexpect - 使用conda管理环境的用户可以执行对应重装命令:
conda install -c conda-forge pexpect --force-reinstall - 重装完成后重新启动Jupyter Notebook服务,再执行seaborn安装命令即可正常安装:
pip install seaborn
提示:尽量避免在Jupyter代码单元格中直接加
!前缀执行pip安装操作,容易出现内核环境和终端环境路径不匹配、权限不足的问题,优先在系统终端中执行依赖安装命令能减少很多不必要的依赖冲突。
内容的提问来源于stack exchange,提问作者Karan Raj
相关产品推荐
相关产品推荐

