本地的tensorrt如何链接到虚拟环境中去
·
TensorRT安装在/usr/local/TensorRT-10.11.0.33路径下,这种情况下将其应用到虚拟环境的核心是让虚拟环境的Python能找到TensorRT的Python绑定文件(.egg或.dist-info及相关模块)。以下是具体步骤:
步骤1:确认TensorRT的Python模块路径
首先进入本地TensorRT目录,找到其内置的Python模块位置:
cd /usr/local/TensorRT-10.11.0.33
ls python # 通常会有对应Python版本的子目录,如python3.8、python3.9等
假设你的虚拟环境使用Python 3.8,对应的路径可能是:
/usr/local/TensorRT-10.11.0.33/python/tensorrt-10.11.0.33-cp38-none-linux_x86_64.whl(.whl文件)
或
/usr/local/TensorRT-10.11.0.33/python/tensorrt(已解压的模块目录)
步骤2:将TensorRT模块添加到虚拟环境
根据上述路径的不同,选择以下方法:
方法A:如果存在.whl文件(推荐)
直接在虚拟环境中安装该wheel包,确保版本匹配:
- 激活虚拟环境:
# Windows myenv\Scripts\activate # Linux/Mac source myenv/bin/activate - 安装本地wheel:
(替换上述路径为实际的.whl文件路径)pip install /usr/local/TensorRT-10.11.0.33/python/tensorrt-10.11.0.33-cp38-none-linux_x86_64.whl
方法B:如果只有解压的模块目录
手动将模块目录链接或复制到虚拟环境的site-packages:
-
找到虚拟环境的
site-packages路径:# 在虚拟环境中执行 python -c "import site; print(site.getsitepackages())"输出类似:
['/path/to/myenv/lib/python3.8/site-packages'] -
创建符号链接(推荐,避免重复占用空间):
# Linux/Mac示例 ln -s /usr/local/TensorRT-10.11.0.33/python/tensorrt /path/to/myenv/lib/python3.8/site-packages/tensorrt -
(可选)复制依赖的辅助模块:
TensorRT可能依赖graphsurgeon和uff,同样处理它们的目录(若存在):ln -s /usr/local/TensorRT-10.11.0.33/graphsurgeon /path/to/myenv/lib/python3.8/site-packages/graphsurgeon ln -s /usr/local/TensorRT-10.11.0.33/uff /path/to/myenv/lib/python3.8/site-packages/uff
步骤3:验证是否生效
在虚拟环境中执行:
python -c "import tensorrt; print('TensorRT版本:', tensorrt.__version__)"
若输出10.11.0.33,则说明已成功应用到虚拟环境。
补充:处理动态链接库(可选)
如果运行时出现“找不到libnvinfer.so”等动态库错误,需确保系统能找到TensorRT的库文件:
- 编辑环境变量配置文件(如
~/.bashrc或~/.zshrc):export LD_LIBRARY_PATH=/usr/local/TensorRT-10.11.0.33/lib:$LD_LIBRARY_PATH - 生效配置:
source ~/.bashrc # 或对应你的配置文件
这样虚拟环境就能完整调用TensorRT的功能了。
更多推荐
所有评论(0)