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包,确保版本匹配:

  1. 激活虚拟环境:
    # Windows
    myenv\Scripts\activate
    # Linux/Mac
    source myenv/bin/activate
    
  2. 安装本地wheel:
    pip install /usr/local/TensorRT-10.11.0.33/python/tensorrt-10.11.0.33-cp38-none-linux_x86_64.whl
    
    (替换上述路径为实际的.whl文件路径)
方法B:如果只有解压的模块目录

手动将模块目录链接或复制到虚拟环境的site-packages

  1. 找到虚拟环境的site-packages路径:

    # 在虚拟环境中执行
    python -c "import site; print(site.getsitepackages())"
    

    输出类似:['/path/to/myenv/lib/python3.8/site-packages']

  2. 创建符号链接(推荐,避免重复占用空间):

    # Linux/Mac示例
    ln -s /usr/local/TensorRT-10.11.0.33/python/tensorrt /path/to/myenv/lib/python3.8/site-packages/tensorrt
    
  3. (可选)复制依赖的辅助模块:
    TensorRT可能依赖graphsurgeonuff,同样处理它们的目录(若存在):

    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的库文件:

  1. 编辑环境变量配置文件(如~/.bashrc~/.zshrc):
    export LD_LIBRARY_PATH=/usr/local/TensorRT-10.11.0.33/lib:$LD_LIBRARY_PATH
    
  2. 生效配置:
    source ~/.bashrc  # 或对应你的配置文件
    

这样虚拟环境就能完整调用TensorRT的功能了。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐