当我在项目中导入igraph包时,我得到一个AttributeError。这只发生在项目目录中:
[12:34][~]$ python2
Python 2.7.1 (r271:86832, Apr 15 2011, 12:09:10)
[GCC 4.5.2 20110127 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import igraph
>>>
[12:34][~]$ cd projectdir/
[12:34][projectdir]$ python2
Python 2.7.1 (r271:86832, Apr 15 2011, 12:09:10)
[GCC 4.5.2 20110127 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import igraph
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/igraph/__init__.py", line 42, in <module>
import gzip
File "/usr/lib/python2.7/gzip.py", line 36, in <module>
class GzipFile(io.BufferedIOBase):
AttributeError: 'module' object has no attribute 'BufferedIOBase'
>>>
项目目录中没有文件igraph.py:
[12:34][projectdir]$ ls -alR | grep igraph | wc -l
0
并且没有循环导入。
如何解决此错误?
答案 0 :(得分:31)
最有可能的是,io
中有一个模块~/projectdir
或项目配置的其中一个路径。 igraph导入的gzip模块以
import io
并期待内置的io模块,而不是你的项目。查找io
目录,或io.py
或io.pyc
。它还可以帮助仔细检查sys.path
可能包含名为~/projectdir
的模块的任何其他目录(可能在io
之外)。