安装clustergrammer_widget遇AttributeError错误求助
解决Clustergrammer-Widget安装中的
AttributeError: 'str' object has no attribute 'class_traits'错误 错误原因
该错误源于clustergrammer_widget与新版ipywidgets(8.x及以上)的API不兼容:ipywidgets 8.x版本移除了class_traits方法,但旧版clustergrammer_widget仍在调用该方法,从而触发报错。
解决方案
1. 降级ipywidgets到兼容版本
推荐降级至7.7.x系列,该版本与clustergrammer_widget完全兼容:
# 使用pip安装 pip install ipywidgets==7.7.2 # 若使用conda环境,可执行 conda install ipywidgets=7.7.2
2. 重新安装并启用clustergrammer_widget
先卸载现有版本,再重装并配置nbextension:
pip uninstall -y clustergrammer_widget pip install clustergrammer_widget jupyter nbextension enable --py --sys-prefix widgetsnbextension jupyter nbextension enable --py --sys-prefix clustergrammer_widget
3. 验证安装有效性
重启Jupyter Notebook,运行以下测试代码:
from clustergrammer_widget import ClustergrammerWidget net = ClustergrammerWidget() # 加载示例数据(需确保文件存在,或替换为自己的数据路径) net.load_file('rc_two_cats.txt') net.widget()
若能正常渲染聚类热图,则说明问题已解决。
备选方案:创建全新虚拟环境
如果上述操作仍无法解决问题,建议创建独立的虚拟环境隔离依赖:
conda create -n clustergrammer_env python=3.8 conda activate clustergrammer_env pip install ipywidgets==7.7.2 pip install clustergrammer_widget jupyter nbextension enable --py --sys-prefix widgetsnbextension jupyter nbextension enable --py --sys-prefix clustergrammer_widget jupyter notebook
内容的提问来源于stack exchange,提问作者rrrnelson
相关产品推荐
相关产品推荐

