14

当我在我的项目中导入 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

并且没有循环进口。

我该如何解决这个错误?

4

1 回答 1

31

最有可能的是,项目配置的路径或其中一个路径中io有一个模块。~/projectdirigraph 导入的 gzip 模块以

import io

并期望内置 io 模块,而不是您项目的模块。查找io目录,或io.pyio.pyc。它还可以帮助检查sys.path可能~/projectdir包含名为io.

于 2011-06-11T10:52:58.963 回答