【学习随记】切换Ubuntu系统默认Python版本

查看当前python版本及位置

  • 查看当前python版本:
    python --version
    
  • 查看当前使用的python版本的位置
    which python
    

切换Python版本

1. 使用系统自带的update-alternatives命令切换Python版本

  1. 首先给python2和python3设置优先级:

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 150
    

    数值越大优先级越高(默认选择优先级最高的Python版本)。

  2. 查看并切换

    sudo update-alternatives --config python
    

    在这里插入图片描述

2. 使用别名修改(某个用户的)python版本

参考:Fugui的博客更改Ubuntu默认python版本的方法

在待修改用户~/.bashrc~/.zshrc中添加别名(alias),即添加如下内容:

alias python='/usr/bin/python2.7'

然后执行

source ~/.bashrc	# 或 source ~/.zshrc

完成修改。

注意: 使用此方法为python指定别名后(以上面的2.7为例),在python3的conda环境下使用终端执行python依旧启动的是python2.7。

3. 系统自动选择Anaconda的python版本

参考:
ubuntu安装Anaconda后切换使用原始python
修改ubuntu系统默认的python版本

当使用了Anaconda后,系统默认选用anaconda的python版本,执行which python后发现当前调用的python位于anaconda下:
在这里插入图片描述
这是因为配置文件(~/.bashrc~/.zshrc)中添加了export PATH="/home/xxx/anaconda3/bin:$PATH"一句,在查找python时首先找到了anaconda中的python。因此这时方法1(使用update-alternatives)失效,方法2(使用别名)依旧可用

上面的参考博客还提供了一种解决办法,就是把anaconda3/bin/中的python删除或者改名,即

rm /home/xxx/anaconda3/bin/python

mv /home/xxx/anaconda3/bin/python /home/xxx/anaconda3/bin/python3.9.1

此时系统便可以查找到/usr/bin/里面的python:
在这里插入图片描述
但是! 这样做就无法激活conda的base环境了,因为此时base环境便找不到了其python文件:
在这里插入图片描述

我自己尝试了将anaconda3/bin/中的python建立软连接指向自己需要的系统的python版本(这里以python2.7为例):ln -s /usr/bin/python2.7 /home/xxx/anaconda3/bin/python。但是base内的很多库都是依赖之前的python3环境,强行修改后依旧无法激活base环境。
在此请教下大家有没有好的解决办法~

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值