anaconda创建服务器项目,服务器创建新用户,使用user用户的库(CUDA and Anaconda等)...

1. 解决方法

将管理员user账户中的CUDA/ Anaconda安装环境添加到新用户的环境变量中。

i. vim ~/.bashrc

ii. # 添加user账户中的CUDA/ Anaconda的环境变量path

iii. source ~/.bashrc

去user账户下的bashrc文件中,找到CUDA和Anaconda的环境变量path

c860a8bc77e5

将这三行命令复制到新用户的.bashrc文件中

export PATH=$PATH:/usr/local/cuda-10.0/bin

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-10.0/lib64

export PATH=/home/user/anaconda3/bin:$PATH

验证是否成功?

c860a8bc77e5

c860a8bc77e5

2. 什么是.bashrc

什么是 .bashrc,为什么要编辑 .bashrc? | Linux 中国 - Linux中国的文章 - 知乎

https://zhuanlan.zhihu.com/p/33546077

为了加载个人的配置,bash每次启动都会加载.bashrc文件的内容,每个用户的home目录下都有这个shell脚本。他是用来存储并加载个人的终端配置和环境变量。

3. LD_LIBRARY_PATH 用法

LD_LIBRARY_PATH 是 Linux 环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。

也就是当执行函数动态链接.so文件时,如果不在默认路径 'lib' 或者 '/usr/lib',那么就需要指定环境变量LD_LIBRARY_PATH。

假如现在需要在已有的环境变量上添加新的路径名,则采用如下方式:

LD_LIBRARY_PATH = NewDirs:$LD_LIBRARY_PATH

实例如下:

export LD_LIBRARY_PATH = /export/apps/anaconda2/2.4.1/lib/:$LD_LIBRARY_PATH

为什么修改LD_LIBRARY_PATH呢?

因为程序运行时,动态库的搜索路径的先后顺序为:

① 编译目标代码时指定的动态库搜索路径;

② 环境变量LD_LIBRARY_PATH指定的动态库搜索路径;

③ 配置文件/etc/ld.so.conf中指定的动态库搜索路径;

④ 默认的动态库搜索路径/lib 和 /usr/lib 。

这个顺序是compile gcc时写在程序内的,通常软件源代码自带的动态库不会太多,而我们的/lib 和 /usr/lib 只有 root 权限才可以修改,而且配置文件 /etc/ld.so.conf 也是 root 的事情,我们只好对 LD_LIBRARY_PATH 进行操作。

上面的 export LD_LIBRARY_PATH 是临时设置环境变量,重启或者打开新的shell之后,所有设置都会消失,所以需要写进 .bashrc 文件中。

4. Linux中 PATH、LIBRARY_PATH、LD_LIBRARY_PATH 的区别

① PATH

目的:在任意目录下都可以运行bin文件夹中的二进制文件、shell脚本等可执行文件。

配置方法:只需要把bin的路径添加到PATH中即可

vim ~/.bashrc

PATH = $PATH:~/bin

是可执行文件路径,是三个中我们最常接触到的,因为我们命令行中的每句能运行的命令,如ls、top、ps等,都是系统通过PATH 找到了这个命令执行文件的所在位置,再run 这个命令(可执行文件)

所以anaconda和CUDA都要在新用户的bashrc中设置 PATH。

执行echo $PATH能看到当前环境的PATH都配置哪些路径。

c860a8bc77e5

② LIBRARY_PATH 和 LD_LIBRARY_PATH

LIBRARY_PATH是程序编译期间查找动态链接库时指定的查找共享库的路径;

LD_LIBRARY_PATH 是程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径。

两者的共同点是库,库是这两个路径和PATH路径的区别,PATH是可执行程序。

两者的差异点是使用时间不一样。一个是编译器,对应的是开发阶段,如gcc编译;一个是加载运行期,对应点是程序已交付的使用阶段。

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:XXXX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值