ubuntu上怎么设置默认python命令是执行python3而不是python2

xumenger
  • 4.6k

本人的ubuntu自带python,但是既有python2.7.6,又有python3.4.0。但是默认的python命令是python2.7.6,我要想执行python3.4.0就必须输入python3。

这是我的ubuntu自带的所有的python,如下图
图片描述

所以我想问,怎么做能使得默认的python是python3.4.0,而不是python2.7.6?

回复
阅读 57.8k
20 个回答
✓ 已被采纳

alternatives这么好的机制用起来呀。

shell里执行:

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

此时你会发现
alternatives

如果要切换到Python2,执行:

sudo update-alternatives --config python

按照提示输入选择数字回车即可。

这样你甚至可以将自己喜欢的任意版本python安装到任意位置,然后使用update-alternatives将其设置为系统默认python。

echo alias python=python3 >> ~/.bashrc
source ~/.bashrc

不建议更换系统默认python版本,可创建开发环境与系统版本隔离

安裝虛擬環境工具

pip3 install virtualenv

安裝虛擬環境工具擴展管理包

pip3 install virtualenvwrapper

編輯shell文件,設置環境信息

vi ~/.bashrc

export WORON_HOME=/home/用戶/.virtualenvs
VIRTUALENVWRAPPER_PYTHON='/usr/bin/python3'
source /usr/bin/virtualenvwrapper.sh

souce ~/.bashrc

創建開發環境

mkvirtualenv py3env

進入開發環境

workon py3env

退出開發環境

deactivate

這樣就創建了一個Python3的開發環境 與系統的默認版本完全隔離。需要運行Python3的文件只需要進入開發環境即可。

系统和部分软件会依赖于默认python,替换后可能会有问题。推荐使用 pyenv,pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。参考 http://m.open-open.com/m/lib/...

charlesyoung
  • 1
新手上路,请多包涵

可以试试anaconda,管理Python版本比较方便。

file python 你将看到那个只是一个软连接到python2.7
你重新软连接到python3就可以了
ln

https://github.com/yyuu/pyenv 建议用pyenv来管理python版本。因为有些linux包依赖于系统内置的python2,替换成python3会出现很奇怪的问题,保险的办法是安装pyenv,

pyenv install 3.5.0

然后在自己的shell下:
pyenv global 3.5.0

dalalaa
  • 1
新手上路,请多包涵

如果你是初学者的话,不建议修改,因为修改之后会导致Ubuntu中的部分基于Python2的应用无法打开

更改系统默认python版本可能导致一些软件跑不起来
我就中过遭
所以还是不要改了
最好的办法还是用虚拟环境

yellowredroc
  • 1
新手上路,请多包涵

推荐使用pyenv,可以安装多个python版本,并且切换也方便,如果是开发用的话建议用虚拟环境virtualenv

  1. 可以在 .bashrc 文件添加 export PYTHONPATH=your_python_path
  2. 用 whereis python 查看所有的 Python 解释器路径,然后运行 /path/python3.6 等
__apple
  • 4
新手上路,请多包涵
逍遥笑笑生
  • 2
新手上路,请多包涵

因为ubuntu /usr/bin/python 软链接的 python2 ,你可以重新建立软链接

沙漠里的鱼
  • 2
新手上路,请多包涵

virtualenv

Python交流602697820

在/usr/bin下,把python删掉,把python3更名为python。不过不建议你这样做

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏