我有此代码
import scipy.sparse as sparse
import numpy as np
id = np.eye(13)
vals, vecs = sparse.linalg.eigsh(id, k=6)
vals
这只是文档here中的示例代码。
我正在Python 2.7控制台中运行它,并收到以下错误消息:
AttributeError:“模块”对象没有属性“ linalg”
有人知道为什么会这样吗?
答案 0 :(得分:1)
尝试此代码
import scipy.sparse.linalg as sp
import numpy as np
id = np.eye(13)
vals, vecs = sp.eigsh(id, k=6)
vals
之所以会这样,是因为linalg
是目录而不是源代码,即它是子包。而且我想这可能是导致此问题的原因,因为某些Scipy子模块没有__init__.py
,也许开发人员这样做是为了减少顶级程序包的加载时间。您可以在此link