Linux系统 利用conda更改gcc、g++版本(非root用户)

这篇具有很好参考价值的文章主要介绍了Linux系统 利用conda更改gcc、g++版本(非root用户)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

conda查看g++版本,Linux与Conda,linux,运维,服务器,conda,python

图片来源于网络

问题场景:

平常使用python安装包时,同时会用到gcc/g++造轮子进行安装,但当我们在公司企业的服务器集群上进行操作时,我们一般都是非root用户,无法对/bin或/lib目录进行更改,无法更新相应文件夹下对应软件的链接。conda为我们提供了环境的隔离,如何为用户配置conda内下载的指定版本gcc呢?甚至做到多环境gcc/g++版本共存,在有需要时快速切换!

解决思路:

1.下载gcc/g++至conda环境

一般,通过conda下载gcc及g++可通过如下命令(在对应的conda环境env中):

conda install -c moussi gcc_impl_linux-64
conda install -c moussi gxx_impl_linux-64

 当需要下载指定版本时,如下载8.4.0版本,我们可以在包名称后加=<版本号>即可,如:

conda install -c moussi gcc_impl_linux-64=8.4.0

等待下载完成(可以加入-y参数,这样之后下载的过程中就不用输入y同意继续下载了)

这里可以用-y搭配nohup免于操心漫长的下载过程。

2.配置环境变量

因为conda下载类似的内容后会把对应内容的软连接(可以理解为windows的快捷方式)添加至bin或lib目录,我们需要将两个目录添加至环境变量:

# 这里假设你的conda环境(环境名称yourEnv)路径为 /custom/conda/envs/yourEnv/

# 如果是base环境则对应 /custom/conda/

export PATH=/custom/conda/envs/yourEnv/bin/:$PATH

# gcc/g++在bin目录下,有的下载会在lib目录下

# 所以如果你想以conda作为你的整体环境,可以同时配置如下环境变量

export PATH=/custom/conda/envs/yourEnv/lib/:$PATH

一般用如下命令查看gcc/g++版本来检验配置是否成功

gcc -v

g++ -v

# 你会发现他们输出的都是gcc的版本,一般二者是版本相配的,所以输出保持一致

你会发现是失败的,还是老的gcc/g++,这里是较难发现的地方!被conda坑了

因为conda下载后的gcc/g++并不以gcc/g++命名,而是有如下对应:

gcc: x86_64-conda-linux-gnu-cc

g++: x86_64-conda-linux-gnu-c++

因为没发现这个,在此卡了很久(因为平常只需要添加PATH环境变量即可)

所以我们可以用如下命令再新建软连接,这样gcc/g++才能被你识别到,否则你就需要输入一长串来执行了!

x86_64-conda-linux-gnu-cc -v

而python之类的所用的命令是gcc/g++,而不是这一长串,所以必须配置新的软连接!保证名字是gcc/g++!

3.为gcc/g++建立软连接(坑)

建立软连接命令(${bin}代表你的conda环境bin目录):

# cd转至你conda下载gcc/g++的bin目录,通过pwd获得目录路径赋值

bin=`pwd`

# 或者使用        bin=你的bin目录路径

ln -s ${bin}/x86_64-conda-linux-gnu-cc ${bin}/gcc
ln -s ${bin}/x86_64-conda-linux-gnu-c++ ${bin}/g++ 

# ln -s <源文件路径> <建立软连接路径> 

至此配置完毕,若你的export PATH配置正确,再次调用gcc -v

你会发现这样就配置完成了! 

4.export PATH添加至.bashrc

为了避免每次SSH登录都需要重复配置PATH,可以将如下代码添加至你的用户目录的.bashrc启动文件中,通过 vim ~/.bashrc 打开编辑,添加如下内容即可:

export PATH=你的conda环境路径/bin/:你的conda环境路径/lib/:$PATH文章来源地址https://www.toymoban.com/news/detail-775873.html

到了这里,关于Linux系统 利用conda更改gcc、g++版本(非root用户)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统root用户切换及密码修改

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 以Ubuntu为例 我的用户名为hanshan2 当前用户为hanshan2 从当前用户切换到root用户 从root用户

    2024年02月16日
    浏览(47)
  • Linux(03) Debian系统新建用户,赋予其ROOT权限;Debian系统删除用户

    方式① :在root权限下,useradd只是创建了一个用户名,如 (useradd +用户名 ),它并没有在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的,为了避免这样的情况出现,可以用 (useradd -m +用户名)的方式创建,它会在/home目录下创建同

    2024年02月03日
    浏览(48)
  • root查询有几个用户,查看root用户

    1、使用w命令查看登录用户正在使用的进程信息 Linux w命令用于显示目前登入系统的用户信息。 执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。 单独执行w指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。 语法:www.

    2024年02月02日
    浏览(40)
  • Linux系统root下执行su登录其他用户失败

    在Linux系统上,从root用户切换到oracle用户时报错 su: cannot open session: Permission denied 如下: 定位原因1 分析登录日志,可以看到时登录的时候limit中的 memlock 设置失败,导致用户登录失败: limit配置表示限制该用户最大可以打开的文件数量、会话数量、内存等,使用 ulimit -a 命令

    2024年02月05日
    浏览(49)
  • 【Shell 命令集合 系统设置 】⭐⭐⭐Linux 更改用户密码 passwd命令 使用指南

    Shell 命令专栏:Linux Shell 命令全解析 passwd命令是Linux系统中用于更改用户密码的命令。它允许用户更改自己的密码或超级用户更改其他用户的密码。通过使用passwd命令,用户可以保护其账户的安全性,防止未经授权的访问。 当用户运行passwd命令时,系统会提示用户输入当前密

    2024年02月02日
    浏览(69)
  • (Linux)在Ubuntu系统中添加新用户并授予root权限

    向Ubuntu系统中添加新用户并为其授予root权限的步骤如下: 打开终端Terminal 输入命令: sudo su - 以 root 身份登录. 注: sudo su : 切换root身份, 不携带当前用户环境变量 sudo su - : 切换root身份, 携带当前用户环境变量 输入命令: adduser username 向Ubuntu系统中添加新用户. 输入命令: passwd us

    2024年02月16日
    浏览(53)
  • Linux系统Ubuntu以非root用户身份操作Docker的方法

      本文介绍在 Linux 操作系统 Ubuntu 版本中,通过配置,实现以 非root用户 身份,进行 Docker 各项操作的具体方法。   在文章Linux系统Ubuntu配置Docker详细流程(https://blog.csdn.net/zhebushibiaoshifu/article/details/132612560)中,我们介绍了开源容器化平台和工具集 Docker 的详细配置方法

    2024年02月10日
    浏览(49)
  • GCC 安装 (Linux + 非root)

    降低或升高服务器上的GCC版本 报错:configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+ 按顺序下载和安装依赖库 下载 安装gmp 安装mpfr 安装mpc

    2024年02月11日
    浏览(38)
  • Linux系统设置默认用户为root并自动登录(详解,包含Centos及Ubuntu系统)

    打开 /etc/gdm/custom.conf vi /etc/gdm/custom.conf或者nano /etc/gdm/custom.conf(看自己熟练哪个用哪个命令) 在文件 [daemon] 下写入( 注意:在这个下面写入,别的地方写入无效! ): AutomaticLoginEnable=True AutomaticLogin=root 然后保存出来重启Reboot 打开终端开启root账户,设置密码 : sudo passwd  r

    2024年02月06日
    浏览(61)
  • VMware Workstation创建新虚拟机查看ip更改用户权限

     新增用户为普通用户用 $ 表示 只有root用户或者有root权限者用 # 表示 第一种情况:如果是  $  的普通用户输入的就是下面这种情况  因为当时新创建虚拟机时是选择的Linux系统,系统不同是不一样的  ensXX ,所以我ifconfig时是ens33  第二种情况:有权限却没有显示出来i

    2023年04月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包