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

Anaconda Navigator中Jupyter Notebook无法导入已安装的nglview求助

解决Anaconda GUI环境下Jupyter Notebook无法导入nglview的问题

问题背景

在Anaconda Navigator GUI的base(根)环境启动的Jupyter Notebook中,无法导入已安装的nglview,相关版本信息:

  • Jupyter Notebook 6.4.12
  • Anaconda Navigator 2.3.2
  • Python 3.9
  • nglview 3.0.3
  • ipython 8.5.0

导入时触发如下错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In [1], line 5
      3 import pandas as pd
      4 import matplotlib.pyplot as plt
----> 5 import nglview as nv
      7 # the next line is necessary to display plots in Jupyter
      8 get_ipython().run_line_magic('matplotlib', 'inline')

File ~\anaconda3\lib\site-packages\nglview\__init__.py:4
      1 import warnings
      3 # for doc
----> 4 from . import adaptor, datafiles, show, widget
      5 from ._version import get_versions
      6 from .adaptor import *

File ~\anaconda3\lib\site-packages\nglview\show.py:13
      3 from . import datafiles
      4 from .adaptor import (ASEStructure, ASETrajectory, BiopythonStructure,
      5                       FileStructure, HTMDTrajectory, IODataStructure,
      6                       IOTBXStructure, MDAnalysisTrajectory, MDTrajTrajectory,
   (...)\n     11                       RdkitStructure,
     12                       TextStructure)
---> 13 from .widget import NGLWidget
     15 __all__ = [
     16     'demo',
     17     'show_pdbid',
   (...)\n     40     'show_biopython',
     41 ]
     44 def show_pdbid(pdbid, **kwargs):

File ~\anaconda3\lib\site-packages\nglview\widget.py:19
     15 from traitlets import (Bool, CaselessStrEnum, Dict, Instance, Int, Integer,
     16                        List, Unicode, observe, validate)
     17 import traitlets
---> 19 from . import color, interpolate
     20 from .adaptor import Structure, Trajectory
     21 from .component import ComponentViewer

File ~\anaconda3\lib\site-packages\nglview\color.py:114
    110         else:
    111             raise ValueError(f"{obj} must be either list of list or string")
--> 114 ColormakerRegistry = _ColormakerRegistry()

File ~\anaconda3\lib\site-packages\nglview\base.py:10, in _singleton.<locals>.getinstance()
      8 def getinstance():
      9     if cls not in instances:
---> 10         instances[cls] = cls()
     11     return instances[cls]

File ~\anaconda3\lib\site-packages\nglview\color.py:47, in _ColormakerRegistry.__init__(self, *args, **kwargs)
     45 try:
     46     get_ipython() # only display in notebook
---> 47     self._ipython_display_()
     48 except NameError:
     49     pass

File ~\anaconda3\lib\site-packages\nglview\color.py:54, in _ColormakerRegistry._ipython_display_(self, **kwargs)
     52 if self._ready:
     53     return
---> 54 super()._ipython_display_(**kwargs)

AttributeError: 'super' object has no attribute '_ipython_display_'

已尝试无效操作:

  • 重启Anaconda Navigator
  • 重启Jupyter服务器
  • 在Notebook单元格执行%conda install -c conda-forge nglview(提示已安装)
  • 关闭相关标签页

限制条件:

  • 仅允许通过Anaconda Navigator GUI操作(面向无计算科学背景学生)
  • 后台有无法中断的量子化学计算,不能重启电脑

解决方案(仅GUI操作)

方案1:降级nglview到兼容版本

  • 打开Anaconda Navigator,切换到Home标签页,确认当前环境为base (root)
  • 找到nglview,点击右侧的齿轮图标,选择Mark for specific version installation
  • 在版本列表中选择2.7.7(该版本与Python 3.9、IPython 8.5.0兼容性更稳定)
  • 点击页面底部的Apply按钮,等待安装完成
  • 重启Jupyter Notebook,尝试导入nglview

方案2:创建独立新环境

  • 打开Anaconda Navigator,切换到Environments标签页
  • 点击页面底部的Create按钮,输入环境名称(如nglview_env),选择Python版本为3.9
  • 点击Create等待环境创建完成
  • 在新环境的搜索框输入nglview,勾选对应包,同时勾选jupyter notebook
  • 点击Apply安装所有选中的包
  • 切换到Home标签页,在新环境下启动Jupyter Notebook,尝试导入nglview

方案3:更新ipywidgets到兼容版本

  • 在Anaconda Navigator的Home标签页,base环境下找到ipywidgets
  • 点击齿轮图标,选择Mark for update(或直接选择最新兼容版本)
  • 点击Apply完成更新
  • 重启Jupyter Notebook后测试导入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:35:28