我有这个代码

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/

10-12 21:10