ubuntu18.04内置的python3版本比较低,对于新框架的支持不是很好,那么更新版本就很有必要,下面介绍下更新的步骤以及要注意的事项.
1.卸载旧版本
查看当前版本
win@ubuntu:~$ python3 -V
python 3.6.3
卸载Python3.6.3
# 卸载python3.6 软件包, 同时删除配置文件
sudo apt-get --purge remove python3.4
2.安装新版本的Python
到python官网,下载合适的版本,版本地址 这里以3.10.3为例,找到该版本的压缩包
2.1 版本解压
sudo tar Jxvf Python-3.10.3.tar.xz
2.2 编译安装
# 创建安装目录
sudo mkdir /usr/local/python3
# 进入 解压后的 源码文件夹
cd Python-3.10.3
# 配置, 检查安装环境, 生成 Makefile 文件, 指定安装到 /usr/local/python3
#这里要注意的是openssl的版本,低版本可能会出现TLS/SLS权限认证的问题
sudo ./configure --enable-optimizations --prefix=/usr/local/python3
--with-openssl=/usr/local/openssl
# 编译和安装(需要一段时间, 耐心等待)
sudo make && sudo make install
2.3 配置环境变量
sudo vim /etc/profile
#将python路径添加到/etc/profile文件中
export PATH=/usr/local/python3/bin:$PATH
source /etc/profile
#验证python版本
python3 -V
附录:
在ubuntu18.04上openssl的tls有些问题,需要升级下openssl的版本,下载openssl,这里使用 1_1_1w版本
#下载指定版本
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1w.tar.gz
#加压文件
tar OpenSSL_1_1_1w.tar.gz
#进入解压后的目录
cd OpenSSL_1_1_1w
#指定安装路径并编译安装
./config --prefix=/usr/local/openssl // 指定安装路径
make && make install
如果pip是py3版本,但python27环境下缺module,比如使用systrace时,提示“No module named six”,那么可以采用如下方式
sudo apt-get install python-six