我的Ubuntu版本是Ubuntu 22.04.1 LTS,系统自带的python版本是3.10.6版本。因为我在windows下开发用的是python 3.8版本,所以想在Ubuntu下也安装一个3.8版本,但又要保留Ubuntu自带的3.10版本,两个版本之间不能冲突。
记录一下我的安装过程,避免以后忘了:
-
到python官网https://www.python.org/downloads/source/下载了python3.8.16版本的源码Python-3.8.16.tgz。我是先下载到windows系统下面。
-
登录Ubuntu系统,到用户的home目录下,
执行命令 mkdir mypython创建一个目录mypython;
再执行命令sudo chmod 0755更改目录权限;
然后cd mypython,进到目录里面。 -
用WinSCP工具将前面下载下来的Python-3.8.16.tgz从windows系统传到ubuntu上面创建的mypython目录下。
-
执行tar -xzvf Python-3.8.16.tgz解压到Python-3.8.16目录,cd Python-3.8.16,进入到解压后的目录。
-
阅读了Python-3.8.16目录下面的README.rst文件,执行./configure --help了解了参数信息。
-
如果要编译一个完全的python安装,需要安装依赖:
sudo apt update更新包索引信息;
sudo apt upgrade将包更新到最新;
sudo apt install build-essential gdb lcov pkg-config \
libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \
libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \
lzma lzma-dev tk-dev uuid-dev zlib1g-dev
要安装哪些依赖,是参考的:https://devguide.python.org/getting-started/setup-building/index.html#install-dependencies
- 执行命令./configure --prefix=/home/tinghaibian/mypython/python3.8
–enable-optimizations
备注:/home/tinghaibian是我登录用户的home目录。
–prefix是设置将版本的安装目录。
–enable-optimizations是为了得到优化过的python build。 - 执行命令make。这个命令执行的时间比较长。
- 执行命令sudo make install
- 安装完成后验证下:
cd ~/mypython/python3.8
执行./python3,得到了下面输出:
执行了一段代码,正常输出: 证明版本安装成功,是3.8.16版本。
备注:如果直接执行python3,则进入的是Ubuntu系统自带的python版本,我此处是3.10.6版本。两个版本不冲突: