ubuntu切换python版本
Posted 知无止境
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu切换python版本相关的知识,希望对你有一定的参考价值。
一、概述
在ubuntu环境下进行嵌入式开发,我们在进行不同的项目开发时,可能会遇到python环境不统一的情况。这时,我们可以通过update-alternatives来方便更新ubuntu下的python环境,来适应不同的项目工程。
二、使用update-alternatives更新python版本
2.1、查看ubuntu下的所有python版本
ls /usr/bin/python*
输出结果:
/aic8800/target_test# ls /usr/bin/python*
/usr/bin/python /usr/bin/python3.8 /usr/bin/python3-futurize
/usr/bin/python2.7 /usr/bin/python3.8-config /usr/bin/python3-pasteurize
/usr/bin/python3 /usr/bin/python3-config
我这里本来是没有2.7版本的,可以通过apt-get install安装
sudo apt-get install python2.7
如果python后面没有跟版本号,可以直接使用“路径 --version 来查看”
/usr/bin/python --version
2.2、更新update-alternatives替代列表
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 # 添加Python2可选项,优先级为2
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1 #添加Python3可选项,优先级为1
注意,如果没有上述命令,会产生如下错误:
update-alternatives: error: no alternatives for python
2.3、查看update-alternatives下的python版本
sudo update-alternatives --list python
输出结果:
root@ubuntu:/usr/bin# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.8
2.4、切换python版本
update-alternatives默认是auto模式,它会根据你设置的优先级,选择优先级最高的python版本,优先级值越大,优先级越高。
我们可以通过 --config选项手动切换python版本
sudo update-alternatives --config python
输出结果:
root@ubuntu:/usr/bin# sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/python2.7 2 auto mode
1 /usr/bin/python2.7 2 manual mode
* 2 /usr/bin/python3.8 1 manual mode
Press <enter> to keep the current choice[*], or type selection number:
我们在后面输入对应的数字即可选择对应的python版本。
2.5、删除python版本
如果不需要某个python版本,可以将其从update-alternatives中删除:
sudo update-alternatives --remove python /usr/bin/python2.7
Ubuntu下python两个版本的切换
最近在Ubuntu16.04安装了python3.5还有系统自带的python2.7.13,总结一下不同版本的切换问题。
- alias:别名
- bashrc:个人配置文件
一、修改Python版本(针对用户)
想要为某个特定用户修改 Python 版本,只需要在其 home 目录下创建一个 alias
(别名) 即可。打开该用户的 ~/.bashrc
文件,添加新的别名信息来修改默认使用的 Python 版本。
alias python=‘/usr/bin/python3.5‘
一旦完成以上操作,重新登录或者重新加载 .bashrc
文件,使操作生效。
. ~/.bashrc
检查当前的 Python 版本。
python --version
二、修改python版本(针对整个系统)
可以用update-alternatives指令实现整个系统级修改Python版本。前提是以root用户的身份登陆。
- 进入root用户:
sudo -会提示输入Password:输入密码即可登陆。
- 如果是第一次使用root身份,ubuntu系统默认是没有激活root用户的,需要手动激活,终端下输入:
sudo passwd root会提示:Enter new UNIX password:,按要求输入密码,这样就完成了激活,再次sudo -,登陆完成。
- su
- su //切换到超级用户
- su username//切换到username用户
- su与sudo su区别:参考这里。
登陆root用户后,查看python所有版本:
update-alternatives
如果出现报错信息:
update-alternatives: error: no alternatives for python
这说明python alternatives没有没update-alternatives识别,我们需要更新alternatives table使其包括python 2.7和python3.5.
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode update-alternatives: using /usr/bin/python3.5 to provide /usr/bin/python (python) in auto mode
这个时候电脑提示:syntax error near unexpected token ‘(‘,这是没有识别(,需要进行转义:
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python \(python\) in auto mode update-alternatives: using /usr/bin/python3.5 to provide /usr/bin/python \(python\) in auto mode
又提示出了错误:
No command ‘update-alternatives:‘ found, did you mean:
Command ‘update-alternatives‘ from package ‘dpkg‘ (main)
update-alternatives:: command not found
暂时未解决。
参考:
以上是关于ubuntu切换python版本的主要内容,如果未能解决你的问题,请参考以下文章