我尝试按照这篇文章的步骤,在Jupyter笔记本中显示PDB文档,但失败了:
import MDAnalysis as mda
import nglview as nv
from nglview.datafiles import PDB, XTC
u = mda.Universe(PDB, XTC)
protein = u.select_atoms('protein')
当我尝试执行以下操作时:
w = nv.show_mdanalysis(protein)
w
I get:
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-2-499e28f0ffd3> in <module>()
----> 1 w = nv.show_mdanalysis(protein)
2 w
~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in show_mdanalysis(atomgroup, **kwargs)
118 '''
119 structure_trajectory = MDAnalysisTrajectory(atomgroup)
--> 120 return NGLWidget(structure_trajectory, **kwargs)
121
122
~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in __init__(self, structure, trajectory, representations, parameters, **kwargs)
347 if parameters:
348 self.parameters = parameters
--> 349 self.set_structure(structure)
350 if trajectory:
351 self.trajectory = trajectory
~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in set_structure(self, structure)
372 def set_structure(self, structure):
373 self.structure = {
--> 374 "data": structure.get_structure_string(),
375 "ext": structure.ext,
376 "params": structure.params
~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in get_structure_string(self)
313 "'MDAnalysisTrajectory' requires the 'MDAnalysis' package"
314 )
--> 315 import cStringIO
316 u = self.atomgroup.universe
317 u.trajectory[0]
ModuleNotFoundError: No module named 'cStringIO'
2020年2月更新:如果您使用的库已经正确地更新到Python3,则我认为这不再是一个问题:python 3.x ImportError: No module named 'cStringIO',并且现在应该没问题了,因为Python2已被弃用。
conda install nglview
命令,并且它从conda-forge channel下载了1.1.3-py36_0 conda-forge版本,同时也安装了jupyter 4.4.0。来自https://www.mdanalysis.org/2016/03/14/nglview/的示例按照预期工作。 - orbeckstconda remove nglview
卸载nglview吗?如果失败了,那么这个包可能是通过pip或easy_install安装的。尝试pip remove nglview
。如果仍然无法解决问题,请手动删除与nglview相关的所有内容。然后使用conda install -c conda-forge nglview
。(我在Ubuntu 16.04.4和Python 3.6.4下尝试了conda安装,没有出现任何问题。) - orbeckst