【译】Debian Linux下如何设置与更改默认python版本
来源:互联网 发布:剑网3脸型数据 编辑:程序博客网 时间:2024/06/05 23:47
前言
本文翻译自linuxconfig.org
一篇文章,原文地址 。
python2 与 python3在许多方面的差异较大,在使用2到3的过程系统难免会有多个版本的python,本文将对如何设置或改变默认的python 版本做一下说明。
- 使用
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 --versionPython 2.7.8
方法一: 基于当前用户层次的修改
【不推荐,因为python 本身是在系统层次。】
改变python版本一个简单的方式就算使用命令 alias
,将下面语句添加到 ~/.bashrc
文件底部即可。
注意:此为原文内容, .bash
文件的修改仅针对bash下生效,比如我使用的是zsh,此方法就不行了,解决方法是将 ~/.bashrc
文件 改为 ~/.zshrc
,其他地方不变。
alias python='/usr/bin/python3.4'
然后通过下面命令使文件生效
$ source ~/.bashrc
现在查看默认python版本
$ python --versionPython 3.4.2
【补充】: alias
命令的作用就是设置指令的别名,具体可自行搜索。
方法二:系统层次的修改
系统层次下更改python默认版本可使用 update-alternatives
命令,如下:
进入root用户,使用下面命令列举可用的python版本
# update-alternatives --list pythonupdate-alternatives: error: no alternatives for python
可能会出现此错误信息,原因是python版本没有使用 update-alternatives
命令进行认证添加,所以我们需要更新 python版本到可用版本,包括python2.7
和python3.4
两个版本:
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1update-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 2update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
-- install
操作表示新建一个符号链接
【linux下有两种链接方式,分别是 硬链接(Hard Link)和 符号链接(Symbolic Link),请自行搜索】。
所以以上命令的目的是 使用update-alternatives
创建了个python的符号链接,指向了,/usr/bin/python2.7
,命名为1;使用update-alternatives
创建了个python的符号链接,指向了,/usr/bin/python3.4
,命名为2。
现在查看默认python版本,是3.4.2。【举例中因为第一种方法已经把python版本设置为3.4了。】
$ python --versionPython 3.4.2
接着,我们查看当前可用的python版本
# update-alternatives --list python/usr/bin/python2.7/usr/bin/python3.4
现在我们设置默认的python版本。
# update-alternatives --config python
如下,需要选择默认python的id,就是在添加时使用的号码 1 和 2 :
现在查看默认python版本,已经变为2.7版本。
# python --versionPython 2.7.8
备注
如果长时间不用其他版本的python,可以将添加到update-alternatives
列表的python 版本移除,如下,移除update-alternatives
列表的python2.7:
# update-alternatives --remove python /usr/bin/python2.7update-alternatives: removing manually selected alternative - switching python to auto modeupdate-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
以上。
【个人总结】
原文中第一种方法更改后用户登录或重启会仍然有效,原因是使用终端运行bash的时候会自动读取 .bashrc
文件使其生效。
本人使用的shell为 zsh
,所以当然不能更改.bashrc
文件,之前写环境变量直接写在 .profile
文件中,.profile
文件是在用户登录的时候加载,然后就想到直接写在该文件中。source后生效, 但是重启 或重新登录用户后python 版本依然没变!个人猜测原因如下:
文件加载的顺序
用户登录加载
~/.profile
文件, python版本更改,此时已经达到改默认python的目的。用户打开终端,启动了
zsh
,系统读取.zshrc
文件,其中.zshrc
文件中各种环境变量依然指向原来的路径,所以python 又被指向原来路径。
所以,个人总结:
使用 python更改版本的命令直接写在
.zshrc
文件 (测试可以的)一些命令的改变写在对应shell版本中, 启动终端时生效。
牵扯到账号密码等环境变量写在
.profile
文件中,用户登录时生效。为了一些不必要的麻烦建议还是使用第二种直接在系统层次改python版本比较好,然而这又会导致python扩展的问题,所以最好就是基于大版本(2或者3)使用虚拟环境。。
- 【译】Debian Linux下如何设置与更改默认python版本
- Linux下python默认版本设置
- 如何在centos下更改默认版本的python
- Debian中如何切换默认Python版本
- Debian中如何切换默认Python版本
- Debian更改默认jdk版本
- 如何将 Debian Linux 中的默认的 Python 版本切换为替代版本
- linux下更改Python版本
- Python 更改默认版本
- python 更改默认版本
- ubuntu下设置python默认版本
- Windows下更改Python默认版本的方法
- Windows下更改Python默认版本的方法
- 更改Ubuntu默认python版本
- linux下python默认版本的选择
- linux下更新Python版本并修改默认版本
- 将Linux下python默认版本切换成替代版本
- linux下更新Python版本并修改默认版本
- Oracle LOB
- CCF 201609-3 炉石传说
- Java--异常的基本概念
- Redis 与 Python-redis基本命令备忘
- 101. Symmetric Tree (判断二叉树是否对称)
- 【译】Debian Linux下如何设置与更改默认python版本
- android 30个经验教训
- CCF 201609-4 交通规划
- 4184: shallot
- Android接入微信分享视频和图片
- 1073. Scientific Notation
- Textfield首行缩进 光标颜色 清除按钮样式
- 102. Binary Tree Level Order Traversal (二叉树层次遍历)
- (一)ImageProcess软件学习--BmpFile.h头文件