非root用户在conda环境pip安装项目遇libcufft.so.10缺失错误求助
问题:非root用户在conda环境安装MoE-LLaVA时出现libcufft.so.10找不到的权限类错误
环境信息
- Ubuntu 22.04 AMD64
- NVIDIA驱动版本525.147.05,CUDA版本12.0
- 普通用户
~/.bashrc已配置以下环境变量:
export CUDA_HOME=/usr/local/cuda export CUDACXX=/usr/local/cuda/bin/nvcc export LIBRARY_PATH="${CUDA_HOME}/lib64" export C_INCLUDE_PATH="${CUDA_HOME}/include" export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
问题详情
以普通用户身份安装MoE-LLaVA时,触发如下错误:
Traceback (most recent call last): File "/home/me/.local/lib/python3.10/site-packages/torch/__init__.py", line 168, in _load_global_deps ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL) File "/usr/lib/python3.10/ctypes/__init__.py", line 374, in __init__ self._handle = _dlopen(self._name, mode) OSError: libcufft.so.10: cannot open shared object file: No such file or directory
切换到root用户后,创建新conda环境执行pip install .可成功安装并正常运行程序,但切回普通用户后,原本正常的Python命令也出现相同错误。尝试sudo chmod 777 -R /usr/local/cuda无效,最终只能卸载重装CUDA和驱动后普通用户才能正常运行。推测核心为权限或环境变量传递问题,而非CUDA版本不匹配。
需求
实现任意conda环境下,非root用户执行pip install ***时不出现上述依赖库找不到的错误。
解决方案
1. 修正CUDA目录的权限与归属
CUDA默认安装目录归属为root,普通用户需具备读取和执行权限(无需过度开放777):
- 查看CUDA软链接指向的实际版本目录:
ls -l /usr/local/cuda - 修正目录权限与归属(替换
cuda-12.0为你的实际版本目录):sudo chown -R root:users /usr/local/cuda-12.0 sudo chmod -R 755 /usr/local/cuda-12.0 sudo chown root:users /usr/local/cuda sudo chmod 755 /usr/local/cuda
2. 让conda环境继承系统CUDA环境变量
conda默认会隔离系统环境变量,需配置保留CUDA相关变量:
- 编辑
~/.condarc,添加以下内容:
这样所有conda环境都会自动继承这些系统级路径变量,避免库查找失败。preserve_environment_variables: - CUDA_HOME - CUDACXX - LIBRARY_PATH - C_INCLUDE_PATH - LD_LIBRARY_PATH
3. 给单个conda环境配置自动加载CUDA路径(可选)
若全局配置无效,可给指定conda环境添加自动激活脚本:
- 创建激活脚本目录:
mkdir -p ~/miniconda3/envs/your_env/etc/conda/activate.d - 写入环境变量配置:
替换echo -e 'export CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' > ~/miniconda3/envs/your_env/etc/conda/activate.d/env_vars.shyour_env为目标conda环境名称,激活环境时会自动加载路径。
4. 验证torch与CUDA版本兼容性
确保当前conda环境的torch版本适配CUDA 12.0,执行以下命令安装兼容版本:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
注:cu121版本的torch完全兼容CUDA 12.0。
内容的提问来源于stack exchange,提问作者Vincent
相关产品推荐
相关产品推荐

