Windows下Anaconda Python3.9:CVXPY无法找到qdldl.dll的问题求助
Windows 10系统,Anaconda Python 3.9环境(qutip-env),通过conda install -c conda-forge cvxpy安装CVXPY后,运行测试命令pytest --pyargs cvxpy.tests或导入QuTiP时,出现错误:
ImportError('DLL load failed while importing qdldl: The specified module could not be found.')
已将存放qdldl.dll的目录C:\Users\ray\anaconda3\envs\qutip-env\Library\bin添加到系统PATH,重启环境后确认PATH已包含该目录,但问题依旧。
强制重装qdldl依赖包
在激活的qutip-env环境中执行:conda install -c conda-forge qdldl --force-reinstall修复可能损坏的DLL文件或依赖配置。
手动复制DLL到Python可直接检索的目录
找到qdldl.dll所在路径(C:\Users\ray\anaconda3\envs\qutip-env\Library\bin),将文件复制到以下任意目录:- 环境的Python DLL目录:
C:\Users\ray\anaconda3\envs\qutip-env\DLLs - 环境的site-packages目录:
C:\Users\ray\anaconda3\envs\qutip-env\Lib\site-packages
- 环境的Python DLL目录:
补充VC++运行库依赖
部分DLL依赖微软VC++ Redistributable运行库,下载安装对应版本的64位VC++运行库(推荐2019或2022版本),补齐DLL的底层依赖。在环境激活脚本中添加PATH
找到qutip-env环境下的Scripts\activate.bat文件,编辑并在末尾添加:set PATH=C:\Users\ray\anaconda3\envs\qutip-env\Library\bin;%PATH%确保每次激活环境时,该目录会被优先加入PATH,让Python能检索到DLL。
切换用pip安装CVXPY
先卸载conda版本的包:conda remove cvxpy qdldl -y再用pip重新安装:
pip install cvxpypip版本的包可能包含更适配Windows的DLL配置。
内容的提问来源于stack exchange,提问作者Ray Beausoleil

