我正在尝试在Spyder中导入Pybedtools。
from pybedtools import BedTool
这是我得到的错误:
Traceback (most recent call last):
File "<ipython-input-13-7a8ea5d1dea8>", line 1, in <module>
from pybedtools import BedTool
File "/Users/michaelsmith/anaconda2/lib/python2.7/site-packages/pybedtools/__init__.py", line 9, in <module>
from . import scripts
ImportError: cannot import name scripts
我刚刚下载了Anaconda,似乎没有理由说明为什么会这样。解决这类错误的典型协议是什么?
更新:
所以在我的pybedtools文件夹中有一个scripts
文件夹(可能是我们试图导入的模块)。我将__init__.py
中的命令都更改为:
from . import scripts2
并将文件夹的名称也更改为scripts2
。但是,我仍然得到错误:
ImportError: cannot import name scripts2
所以我必须在这里做错事,我应该重命名哪个模块?对不起,如果这是一个愚蠢的问题,我对python很新。
答案 0 :(得分:0)
这是因为Anaconda有一个名为scripts
的模块,因此您的导入是&#34;阴影&#34;通过那个模块。您可以仔细检查当您在新笔记本中调用import scripts
时,即使您从未定义过这样的模块,它也能正常工作。有关导入陷阱的非常好的解释可以在这里找到:
http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html
解决方法是将script
pybedtools
模块重命名为其他内容,并将所有导入更改为新名称。