我有这个代码
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 控制台中运行它,并收到以下错误消息:
有谁知道为什么会这样?
最佳答案
试试这个代码
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 的 Scipy 组织部分中找到此信息关于Python - 无法导入 `linalg`,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52624531/