pybedtools:ImportError:无法导入名称脚本

时间:2018-03-13 17:43:02

标签: python anaconda

我正在尝试在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很新。

1 个答案:

答案 0 :(得分:0)

这是因为Anaconda有一个名为scripts的模块,因此您的导入是&#34;阴影&#34;通过那个模块。您可以仔细检查当您在新笔记本中调用import scripts时,即使您从未定义过这样的模块,它也能正常工作。有关导入陷阱的非常好的解释可以在这里找到:

http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html

解决方法是将script pybedtools模块重命名为其他内容,并将所有导入更改为新名称。