TensorFlow导入报错:找不到libffi.so.6文件无权限创建软链接求解
解决TensorFlow导入时libffi.so.6缺失的问题
问题说明
导入TensorFlow 2.16.1时触发错误:
ImportError: libffi.so.6: cannot open shared object file: No such file or directory
当前系统仅存在更高版本的libffi文件:
/usr/lib/libffi.so.8.1.0 /usr/lib/libffi.so.8
在无系统目录软链接权限的情况下,可通过以下几种方法解决:
方法1:用户目录创建软链接并指定库路径
- 在用户主目录创建临时库文件夹:
mkdir ~/libffi_link - 在该文件夹内创建指向现有高版本libffi的软链接,命名为
libffi.so.6:ln -s /usr/lib/libffi.so.8 ~/libffi_link/libffi.so.6 - 运行Python前设置环境变量,让系统优先搜索该目录的库:
export LD_LIBRARY_PATH=~/libffi_link:$LD_LIBRARY_PATH - 启动Python或运行脚本即可正常导入TensorFlow。
方法2:通过conda安装适配版本(conda环境适用)
如果你的Python环境由conda管理,直接在当前环境安装对应版本的libffi:
conda install -c conda-forge libffi=3.3
conda会自动处理库路径关联,无需额外配置。
方法3:编译安装低版本libffi到用户目录
- 下载对应
libffi.so.6的源码包(以3.3版本为例):wget https://sourceware.org/pub/libffi/libffi-3.3.tar.gz - 解压并进入源码目录:
tar -xzf libffi-3.3.tar.gz cd libffi-3.3 - 配置编译路径为用户本地目录,避免系统权限要求:
./configure --prefix=$HOME/local/libffi - 编译并安装:
make && make install - 设置环境变量让系统识别本地安装的库:
export LD_LIBRARY_PATH=$HOME/local/libffi/lib:$LD_LIBRARY_PATH
完成后即可正常导入TensorFlow。
内容的提问来源于stack exchange,提问作者Shreya
相关产品推荐
相关产品推荐

