对于初次接触更新ubuntu python版本的开发者,请注意以下两点(熟悉系统者请随意):
不要删除软链接!不要删除软链接!不要删除软链接!
不要删除原python版本!不要删除原python版本!不要删除原python版本!
ubuntu桌面以及终端会依赖原本自带的python版本,贸然删除轻则会导致终端无法打开以及桌面消失等问题,重则系统崩溃,因而使用alternative进行多个共存python版本的切换。
目录
Step0 前期准备
Step1 下载源码安装包(以3.8.0为例)
Step2 解压并配置安装目录
Step3 编译
Step4 安装
Step5 配置环境变量
Step6 添加和选择python&python3命令指向
Step7 选择python版本
Step8 删除安装包
Step0 前期准备
1、安装所需的依赖(针对所有版本):
sudo apt-get install libffi-dev uuid-dev lzma-dev liblzma-dev libncurses5-dev libgdbm-dev sqlite3 libsqlite3-dev openssl tcl8.6-dev tk8.6-dev libreadline-dev zlib1g-dev build-essential bzip2 libbz2-1.0 libbz2-dev libc6-dev libdb-dev libexpat1 libexpat1-dev libgdbm3 libncursesw5-dev libpcap-dev libreadline5 libreadline6 libreadline6-dev libsqlite0 libsqlite0-dev libsqlite3-0 libssl-dev libssl1.0.0 libxml2-dev libxslt1-dev sqlite tcl tk tk-dev xz-utils zlib1g zlib1g-dev make
2、查看候选列表中已有的Python版本(没有配置过的话,是不存在的):
sudo update-alternatives --list python
如果没有配置过将提示 错误:无python候选项
3、添加 python & python3 指向选择
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 99
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 100
后面的数字代表优先级,数字越高优先级越高。
4、创建新版python的安装目录(便于卸载)
cd /usr/local
sudo mkdir -p /usr/local/python
sudo chmod -R 777 ./python
Step1 下载源码安装包(以3.8.0为例)
cd ~
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
Step2 解压并配置安装目录
cd /usr/local/python
sudo mkdir ./python3.8
cd ~
tar -xf ~/Python-3.8.0.tgz
cd ~/Python-3.8.0
./configure prefix=/usr/local/python/python3.8 --enable-optimizations
Step3 编译
cd ~/Python-3.8.0
make -j 2
//make -j <num_jobs>
//其中<num_jobs>是要使用的并行作业数
//假如有4核处理器,就可以-4
Step4 安装
一定要使用altinstall,使用install可能为覆盖安装,将可能导致Ubuntu崩溃。
cd ~/Python-3.8.0
sudo make altinstall >&1|tee make.log
Step5 配置环境变量
gedit ~/.bashrc
在文件末尾添加:
#[Python3.8]
export PATH=$PATH:/usr/local/python/python3.8/bin
保存退出后执行:
source ~/.bashrc
Step6 添加和选择python&python3命令指向
后面的值配置小于系统的python版本
sudo update-alternatives --install /usr/bin/python python /usr/local/python/python3.8/bin/python3.8 38
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python/python3.8/bin/python3.8 38
Step7 选择python版本
sudo update-alternatives --config python
*号后面是ubuntu的默认版本
Step8 删除安装包
cd ~
sudo rm -r ./Python-3.8.0
rm -r ./Python-3.8.0.tgz