1、背景说明
目前用的虚拟机是16.04的,默认的python版本是3.5的,有些库好像运行不了,需要提高一下python版本,网上搜了好写解决方案都不太行,最终还是走的源码编译的路子,这里记录一下。
先说一下传统的方法吧:
第一步是添加这个源:
sudo add-apt-repository ppa:jonathonf/python-3.6
然后是更新软件源
sudo apt-get update
之后在安装对应的python版本
sudo apt-get install python3.6
按理说此时设备上有多个python版本,需要我们选择一下,调整优先级的命令如下:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
但是事实情况是这个源里面已经没有这个文件了,这个方法目前来说已经不适用了就是,会报错:
还有一些新的源,可以自行搜索,网上有很多大佬给了他们的一些源,但是我试了都不行,所以最终还是放弃,采用源码编译的方式来实现。
2、更新步骤
源码编译首先需要下载源码,可以去官网下载:https://www.python.org/downloads/
这里在上面选择一个合适的版本下载就行了,建议是本地下载在传到虚拟机里面去,这样是比较快的,比如我下载的是这个:
之后在虚拟机里面解压,我是直接图形化解压的,如下所示,没有桌面的可以使用命令行解压
之后进入文件夹准备编译:
cd Python-3.6.5/
然后配置一下:
./configure
之后编译:
make
没有报错就编译安装(一般也不会报错,报错了一般是缺了什么库,对应安装即可 sudo apt)
sudo make install
下面修改我们设备默认的python版本
cd /usr/bin
sudo rm -rf python
sudo ln -s /usr/local/bin/python3.6 python
验证一下就OK了