导入错误和未定义符号:dgesv_ 使用 PIP 安装 CVXPY 时出错

Posted

技术标签:

【中文标题】导入错误和未定义符号:dgesv_ 使用 PIP 安装 CVXPY 时出错【英文标题】:Import Error and Undefined symbol: dgesv_ Error on installing CVXPY with PIP 【发布时间】:2022-01-24 02:09:26 【问题描述】:

我使用“virtualenv -p python3 env-name”创建了一个新的虚拟环境,然后 pip install cvxpy。一切正常。但是,当我输入代码“import cvxpy”时,出现以下错误:

ImportError:“..../env-name/lib/python3.8/site-packages/scs_direct.cpython-38-x86_64-linux-gnu.so”:未定义符号:dgesv

我尝试过直接从源代码安装 cvxpy。它给出了同样的错误。我错过了什么?

【问题讨论】:

它应该没有帮助,但尝试sudo apt install libopenblas-dev 不会有什么坏处。 docs 表明,这些应该是自动可用的,我认为 numpy/scipy(它们是 cvxpy 的依赖项)实际上提供了 openblas,但也许 SCS 会更幸运地找到系统范围的安装。 (dgesv 是 BLAS/LAPACK 的一部分) 感谢您的回复。我安装了它,同样的问题仍然存在。我什至尝试安装bash sudo apt-get install libblas-dev liblapack-dev ,但问题并没有消失。只是一个更正,我得到错误“未定义的符号:dgesv_”而不是“未定义的符号:dgesv”。我不知道这是否有问题。另外,我认为 scipy 也依赖于 LAPACK。我尝试在虚拟环境中通过 pip 单独安装它。它不会给我带来任何问题。 【参考方案1】:

如果使用anaconda,请尝试使用它在所需的虚拟环境中安装:

conda install -c conda-forge cvxpy

【讨论】:

感谢您的回答。我可以通过 conda 安装 cvxpy。但是,它不是我的首选,因此我一直在寻找通过 pip 和虚拟环境安装它的解决方案。

以上是关于导入错误和未定义符号:dgesv_ 使用 PIP 安装 CVXPY 时出错的主要内容,如果未能解决你的问题,请参考以下文章

错误: - 未定义引用 `_imp__GetStockObject@4' 和未定义引用 `_imp__SetBkMode@8'

无法加载库“/usr/lib/pgsql/plpgsql.so”和未定义符号:PinPortal

在 Python 3.6 中调用 C++ 扩展时导入错误“未定义符号:_ZNK9FastNoise8GetNoiseEff”

未定义符号:_ZTIN10tensorflow8OpKernelE

未定义符号:导入 pybind11 绑定时的 _ZN3a13A

通过 pip 安装后的 Tensorboard 错误