『linux』ubuntu修改python版本
motivation:
服务器系统为:ubuntu20.04
查看系统中自带的python版本,可以发现系统自带的python3版本为python3.8。
因为我们需要在服务器部署的项目依赖python版本>=3.9,与Python3.8不兼容,所以需要安装python3.9。
本文详细记录在Ubuntu20.04(其他版本步骤也一样)上编译安装指定版本Python解释器的过程和可能遇到的问题,及多个Python版本并存的使用方法。
安装依赖
初次安装的时候,没有执行这个步骤,后续踩了比较多的坑,参考网上的文章后执行此步骤可以解决大部分的问题。
更新系统软件
在正式开始之前,建议首先检查系统软件是否均为最新,并更新到最新版本。
打开一个终端,输入以下命令:
1 | # 刷新软件包目录 |
安装GCC编译器
打开一个终端,使用 apt 安装 GCC 编译器:
1 | # 安装 GCC 编译器 |
安装其他依赖
1 | # 刷新软件包目录 |
注意,Python 的部分功能依赖于对应的库(如 OpenSSL、SQLite3、LZMA 等),如果在编译时未能找到这些库,仍然可能完成编译。此时的 Python 解释器看似可以工作,但在需要使用特定功能时就会出问题。例如 OpenSSL 出现问题会导致无法正常使用 pip。故建议按本节提示安装所有可选依赖项。
查看系统自带python3版本
在系统终端中输入:
1 | ls -l /usr/bin | grep python |
可以看出使用系统的Python3指向版本python3.8
输入python3 –version可以查看详细版本信息
下载安装python3.9
下载与解压
在https://www.python.org/ftp/python/下找到我们想要安装的python3.9版本的tgz安装包
在终端中通过wget命令下载我们选择的安装包
1 | sudo wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz |
解压安装包并进入目录(我这里选择解压到根目录下,读者可以自行选择解压路径)
1 | sudo tar -zxvf Python-3.9.0.tgz -C ~ |
配置
在Python-3.8.5目录下:
配置:
1 | sudo ./configure |
编译:
1 | make |
安装:
1 | sudo make altinstall |
这里使用应使用
altinstall
而不是install
。二者的一个重要区别在于,后者会创建符号链接,将
python3
等命令链接到正在安装的新版本 Python 3 上,这可能会破坏系统。更多信息请参阅当前目录下的README.rst
文件。
使用
有的文章可能会在这里让你删除掉原有的python环境或者是修改python3命令指向新安装的python3.8环境,由于 Ubuntu 系统、安装的其他软件等很可能会依赖于系统原有的python环境等原因,都不要进行此类修改!!!
下面对安装完成的python环境进行测试
在命令行输入python3.9(注意不要分开),可以看到已经成功安装了。
如果要在python3.9环境下安装库的话,使用pip3.9即可
后续如果想用python3.9环境来执行代码的话,在前面加上python3.9即可