Ubuntu16.04下多版本python安装记录

TomTao626 于 2020-07-18 发布
🥰本站访客数 👀本文阅读量

前情提要

ubuntu16.04自带python2.7和python3.5,但是由于想要使用一些新的python特性,py3.6以后的版本才支持,所以需要安装新版本的py,故记录一下

执行whereis python查看当前安装的python

whereis python
# python: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

1-配置py依赖环境

sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev

2-下载官网源码包Python-3.8.12.tar.xz

wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz

如果下载失败

3-解压源码包

方法一

tar -xvJf  Python-3.8.12.tar.xz

方法二

xz -d Python-3.8.12.tar.xz
tar -xf Python-3.8.12.tar

4-切到解压后的文件目录

cd Python-3.8.12/

5-再次安装依赖(非必要,可跳过此步骤,如在5步出错在执行本步骤)

执行下列命令安装依赖过程中,如有提示,一律输入y回车

sudo apt-get install python-dev
sudo apt-get install libffi-dev
sudo apt-get install libssl-dev
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

6-指定安装路径并编译安装

./configure prefix=/usr/local/python3.8
make && make install

7-更新软连接(配置全局变量)

# 将原来的链接备份
# mv /usr/bin/python /usr/bin/python.bak(根据实际情况使用)
# 添加python3.8的软链接
ln -s /usr/local/python3.8/bin/python3.8 /usr/bin/python3.8
# 测试是否安装成功了
python3.8 -V
# Python 3.8.12

8-安装/升级pip(根据自己需求对应选择)

方法一

# 这句是给(python2.7安装pip)
sudo apt-get install python-pip
# 这句是给python3安装pip
sudo apt-get install python3-pip

方法二

# 使用官方的get-pip.py文件,并使用对应的python版本安装,再建立软链接即可
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# 执行安装
python3.8 get_pip.py
# 建立软链接
ln -s /usr/local/python3.8/bin/pip3.8 /usr/bin/pip3.8
# 测试
pip3.8 -V
# pip 21.3.1 from /usr/local/python3.8/lib/python3.8/site-packages/pip (python 3.8)

执行升级(适用于安装pip方法一)

pip install --upgrade pip
pip3 install --upgrade pip
pip3.8 install --upgrade pip

如果升级pip时出现了以下问题:

Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main

使用python命令即可

python3.8 -m pip3.8 install --upgrade pip