import tensorrt Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/lucky/anaconda3/envs/yolov5/lib/python3.8/site-packages/tensorrt/__init__.py", line 68, in <module> from .tensorrt import * ImportError: libnvinfer.so.8: cannot open shared object file: No such file or directory
时间: 2025-03-11 09:26:45 浏览: 66
### 解决 `libnvinfer.so.8` 导入错误的方法
当尝试运行依赖于 TensorRT 的程序时,如果遇到如下错误:
```
ImportError: libnvinfer.so.8: cannot open shared object file: No such file or directory
```
这通常意味着系统无法找到所需的库文件。为了修复此问题,可以采取以下措施。
#### 验证安装路径
确认 TensorRT 库已正确安装并位于系统的库路径中。可以通过命令来查找 TensorFlow 安装目录中的相关库位置[^2]:
```bash
$ python -c 'import os; import inspect; import tensorrt as trt; print(os.path.dirname(inspect.getfile(trt)))'
```
该命令会打印出 TensorRT 模块所在的绝对路径。
#### 设置环境变量
确保设置了正确的环境变量以便操作系统能够定位到这些共享库。编辑 `.bashrc` 或者相应的 shell 初始化脚本,在其中添加必要的路径设置:
```bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tensorrt/lib
```
上述假设 TensorRT 被安装到了 `/usr/local/tensorrt/` 下面;实际路径可能有所不同,请根据实际情况调整。
#### 更新动态链接器缓存
有时即使已经配置好了 `LD_LIBRARY_PATH`,仍然需要更新系统的动态链接器缓存才能使更改生效。执行下面的指令刷新缓存:
```bash
sudo ldconfig
```
完成以上操作之后再次启动应用程序应该就不会再看到类似的导入错误了。
#### 安装缺失的包
如果经过前面几步处理后依旧存在问题,则可能是由于缺少特定版本的 TensorRT SDK 或其依赖项所引起的。此时应当参照官方文档下载对应平台下的最新稳定版软件包进行重新安装或者升级现有版本。
```bash
pip install --upgrade nvidia-tensorrt
```
注意这里使用的是 pip 工具来进行 Python 绑定部分的更新,对于其他形式的应用则需按照各自的方式获取最新的发行版本。
阅读全文
相关推荐


















