更改Ubuntu默认python版本的两种方法python-> Anaconda
作者:Alanyannick 发布时间:2021-07-30 15:33:28
你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用。
$ ls /usr/bin/python*
/usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4 /usr/bin/python3.4m /usr/bin/python3m
执行如下命令查看默认的 Python 版本信息:
$ python --version
Python 2.7.8
1、基于用户修改 Python 版本:
想要为某个特定用户修改 Python 版本,只需要在其 home 目录下创建一个 alias(别名) 即可。打开该用户的 ~/.bashrc文件,添加新的别名信息来修改默认使用的 Python 版本。
alias python='/usr/bin/python3.4'
一旦完成以上操作,重新登录或者重新加载 .bashrc 文件,使操作生效。
$ . ~/.bashrc
检查当前的 Python 版本。
$ python --version
Python 3.4.2
2、 在系统级修改 Python 版本
我们可以使用 update-alternatives 来为整个系统更改 Python 版本。以 root 身份登录,首先罗列出所有可用的 python 替代版本信息:
# update-alternatives --list python
update-alternatives: error: no alternatives for python
如果出现以上所示的错误信息,则表示 Python 的替代版本尚未被 update-alternatives 命令识别。想解决这个问题,我们需要更新一下替代列表,将 python2.7 和 python3.4 放入其中。
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
# update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
--install 选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先级的选项就会被选中。这个例子中,我们为 /usr/bin/python3.4 设置的优先级为2,所以update-alternatives 命令会自动将它设置为默认 Python 版本。
# python --version
Python 3.4.2
接下来,我们再次列出可用的 Python 替代版本。
# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.4
现在开始,我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了。
# update-alternatives --config python
# python --version
Python 2.7.8
3、移除替代版本
一旦我们的系统中不再存在某个 Python 的替代版本时,我们可以将其从 update-alternatives 列表中删除掉。例如,我们可以将列表中的 python2.7 版本移除掉。
# update-alternatives --remove python /usr/bin/python2.7
update-alternatives: removing manually selected alternative - switching python to auto mode
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
方法2、移除软连接
rm -rf /data/logs
ln -s /temp/logs /data/logs
解决软连接ln报错-bash: /usr/local/bin/mysql: Too many levels of symbolic links
总结


猜你喜欢
- 原理这里实现的弹窗拦截,是程序不断的监视电脑屏幕,当出现需要拦截的窗口时,自动控制屏幕点击事件关闭。第一步:将需要关闭弹窗的点击位置截图。直
- 接触pytorch一天,发现pytorch上手的确比TensorFlow更快。可以更方便地实现用预训练的网络提特征。以下是提取一张jpg图像
- 本文实例为大家分享了OpenCV+face++实现实时人脸识别解锁功能的具体代码,供大家参考,具体内容如下1.背景最近做一个小东西,需要登录
- 前言MySQL是关系性数据库中的一种,查询功能强,数据一致性高,数据安全性高,支持二级索引。但性能方面稍逊于非关系性数据库,特别是百万级别以
- IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)HTML注释的Miscrosoft扩展。顾名思义,有条件注释使你能够根据条件(比
- 春节休息了几天,今天上班第一天,最近混twitter混得比较多,经常要压缩URL,以前做了个书签用http://is.gd/压缩,后来发现了
- 本文实例为大家分享了JavaScript实现动态数字时钟的具体代码,供大家参考,具体内容如下实现效果代码实现<!DOCTYPE htm
- 前言最近新来的小老弟问我,按照公司规定,电脑只有十分钟就锁屏,但是他不想让电脑在空闲十分钟后锁屏。于是我问他,是不是想挑战一下公司信息安全?
- mysql中You can't specify target table for update in FROM clause错误的意
- 本文实例讲述了Python设计模式之组合模式原理与用法。分享给大家供大家参考,具体如下:组合模式(Composite Pattern):将对
- 因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的
- 一、前言何谓动态导入模块,就是说模块的导入可以根据我们的需求动态的去导入,不是像一般的在代码文件开头固定的导入所需的模块。何谓反射机制,利用
- 数据库中有user表如下:新建一个Django项目:django-admin.py startproject myDjango<pro
- 首先看一下这三个函数:rtrim() ltrim() trim();rtrim()定义以及用法: rtrim() 函数移除字符串右侧的空白字
- csv的简单介绍CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用
- 1. 图信号处理知识图卷积神经网络涉及到图信号处理的相关知识,也是由图信号处理领域的知识推导发展而来,了解图信号处理的知识是理解图卷积神经网
- 出现这个问题的原因不是'/xxx.frm'这个文件不见了,而是这些文件的权限(应该要是mysql)不知道为什么变成了root
- 本文实例讲述了JavaScript闭包与作用域链。分享给大家供大家参考,具体如下:闭包定义闭包指的是有权访问另一个函数作用域中的变量的函数。
- Intersection over Union(IOU)是一种测量在特定数据集中检测相应物体准确度的一个标准。IoU是一个简单的测量标准,只
- 本文实例讲述了python字典基本操作。分享给大家供大家参考。具体如下:d2 = {'spam': 2, 'ham&