模块 'scipy.sparse' 在网状虚拟环境中没有属性 'linalg' 错误
Module 'scipy.sparse' has no attribute 'linalg' error in reticulate virtual environment
我已经编写了一个函数,它在 python 中完全按照我希望的方式工作,但是当我尝试 运行 它在 RI 中时,我 运行 遇到了网纹问题。我已经解决了这个问题并将其减少到这个问题。我在 python:
中有这个功能
def get_largest_eigenvalue(inc_mat):
eigen_val = scipy.sparse.linalg.eigs(inc_mat, k = 1)
eigen_val = eigen_val[0] / inc_mat.shape[0]
return eigen_val
本质上,此函数采用 csr_matrix 和 returns 其最大特征值。它应该适用于任何 csr_matrix。当我 运行 这段代码使用网状结构时出现错误,解决这个问题将解决我更大的问题。
转运行这段代码在网状我运行
library(reticulate)
use_virtualenv("default")
我之前运行这个代码安装scipy到这个虚拟环境
virtualenv_install("default", c("scipy"))
然后我用了
source_python("file_name.py")
加载我的所有 python 功能,包括上面的功能。除上述功能外,我加载的所有其他功能都能完美运行。当我尝试 运行 时,我收到以下错误
Error in py_call_impl(callable, dots$args, dots$keywords) :
AttributeError: module 'scipy.sparse' has no attribute 'linalg'
我有点不知所云,我已经尝试了 运行ning 代码
virtualenv_install("default", c("scipy.sparse"))
但这会导致更多错误并且不起作用。任何帮助,将不胜感激!谢谢!
将此显式导入添加到您的代码中:
import scipy.sparse.linalg
仅导入 scipy.sparse
不会自动导入 linalg
子模块。
我已经编写了一个函数,它在 python 中完全按照我希望的方式工作,但是当我尝试 运行 它在 RI 中时,我 运行 遇到了网纹问题。我已经解决了这个问题并将其减少到这个问题。我在 python:
中有这个功能def get_largest_eigenvalue(inc_mat):
eigen_val = scipy.sparse.linalg.eigs(inc_mat, k = 1)
eigen_val = eigen_val[0] / inc_mat.shape[0]
return eigen_val
本质上,此函数采用 csr_matrix 和 returns 其最大特征值。它应该适用于任何 csr_matrix。当我 运行 这段代码使用网状结构时出现错误,解决这个问题将解决我更大的问题。
转运行这段代码在网状我运行
library(reticulate)
use_virtualenv("default")
我之前运行这个代码安装scipy到这个虚拟环境
virtualenv_install("default", c("scipy"))
然后我用了
source_python("file_name.py")
加载我的所有 python 功能,包括上面的功能。除上述功能外,我加载的所有其他功能都能完美运行。当我尝试 运行 时,我收到以下错误
Error in py_call_impl(callable, dots$args, dots$keywords) : AttributeError: module 'scipy.sparse' has no attribute 'linalg'
我有点不知所云,我已经尝试了 运行ning 代码
virtualenv_install("default", c("scipy.sparse"))
但这会导致更多错误并且不起作用。任何帮助,将不胜感激!谢谢!
将此显式导入添加到您的代码中:
import scipy.sparse.linalg
仅导入 scipy.sparse
不会自动导入 linalg
子模块。