问题描述
当我在项目中导入 igraph 包时,出现 AttributeError.这只发生在项目目录中:
When I import the igraph package in my project, I get an AttributeError. This only happens in the project directory:
[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:
There is no file igraph.py in the project directory:
[12:34][projectdir]$ ls -alR | grep igraph | wc -l
0
并且没有循环导入.
我该如何解决这个错误?
How can I solve this error?
推荐答案
最有可能的是,~/projectdir
或项目路径之一中存在模块 io
配置.igraph导入的gzip模块以
Most likely, there is a module io
in ~/projectdir
or one of the paths the project configures. The gzip module imported by igraph starts with
import io
并期待内置 io 模块,而不是您的项目.查找 io
目录,或 io.py
或 io.pyc
.对于可能包含名为 io
的模块的任何其他目录(可能在 ~/projectdir
之外),它也有助于检查 sys.path
.
and expect the built-in io module, not your project's one. Look for an io
directory, or io.py
or io.pyc
. It can also help to scrutinize sys.path
for any other directories (maybe outside of ~/projectdir
) that might contain modules named io
.
这篇关于导入igraph时如何解决AttributeError?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!