• PATH 与 LD_LIBRARY_PATH 的用法举例


    PATH 这个环境变量,从我大一就出现了,年少无知,“总有一天我会搞明白的”,这都5年过去了,5年!你知道我这5年是怎么过来的吗!!!

    有啥用呢? 大家直接查就行,我唯一能用到的地方就是 将某些可执行文件的路径添加到PATH
    举个例子

    我在参考了:
    1. ONNX-TensorRT安装教程https://zhuanlan.zhihu.com/p/380950900
    2. https://github.com/onnx/onnx-tensorrt

    在执行了以下代码块儿之后:

    cd onnx-tensorrt
    mkdir build && cd build
    cmake .. -DTENSORRT_ROOT=<path_to_trt> && make -j
    // Ensure that you update your LD_LIBRARY_PATH to pick up the location of the newly built library:
    export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
    
    • 1
    • 2
    • 3
    • 4
    • 5

    build 路径下会有一个可执行文件onnx2trt
    我在执行的时候,只能执行./onnx2trt,而不能在其他路径直接执行onnx2trt

    所以PATH 就起作用了:

    export PATH=$(pwd):$PATH
    
    • 1

    这样可以将onnx2trt的路径添加到PATH中,在任何路径都可执行onnx2trt,但是这样添加只是临时的,若想一直添加到PATH中,可以这样:

    echo "export PATH=$(pwd):$PATH" >> ~/.bashrc
    source ~/.bashrc # 刷新一下环境变量
    
    • 1
    • 2

    注意 echo 的字符串
    如果字符串中有变量,单引号会忽略,而双引号会把变量解析以后带入字符串

    另外还有个例子,CUDA安装完之后,我们会在 ~/.bashrc 尾处添加两行代码:

    export  PATH=/usr/local/cuda/bin:$PATH
    export  LD_LIBRARY_PATH=/usr/local/cuda/lib64$LD_LIBRARY_PATH
    
    • 1
    • 2

    之后执行nvcc -V 来看CUDA是否安装成功,而上边的第一行就是保证 nvcc 所在的路径可以直接搜索到,能直接执行 nvcc


    下边那行引出了 LD_LIBRARY_PATH

    LD_LIBRARY_PATH 的用法,如果不是开发者,而只是普通用户,一般用不上

    LD_LIBRARY_PATH 是 Linux/UNIX 系统中使用的环境变量。 它用于告诉动态链接加载器在哪里寻找特定应用程序的共享库.

    而上边编译完onnx2trt之后,有这样一行:

    export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
    
    • 1

    就是将当前路径添加到 LD_LIBRARY_PATH ,之后执行python setup.py install 便可以找到安装路径


    同样的,在编译 mmdeploy 中

    export LD_LIBRARY_PATH=$ONNXRUNTIME_DIR/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$TENSORRT_DIR/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$CUDNN_DIR/lib64:$LD_LIBRARY_PATH
    
    • 1
    • 2
    • 3

    将 onnxruntime tensorrt cudnn 的路径都添加到了 LD_LIBRARY_PATH
    为了一会儿编译 SDK 可以找到路径

    OK,就这样吧

  • 相关阅读:
    C语言基本概念----类型
    高级开发要会高效Java
    3+单基因泛癌+铜死亡纯生信思路
    【git】git配置自带的查看分支log图
    单机部署
    一文看懂混沌网格(Chaos Mesh)工作原理
    springboot+vue基于协同过滤算法的私人诊所管理系统的设计与实现【内含源码+文档+部署教程】
    Worthington果胶酶的特性及测定方案
    冒泡排序、选择排序、插入排序、希尔排序
    TYVJ P1023 奶牛的锻炼
  • 原文地址:https://blog.csdn.net/HaoZiHuang/article/details/125487468