操作系统:ubuntu16.04
用户:非root用户
1. 打开terminal终端,创建安装目录
sudo mkdir /usr/lib/python3.8
2. 下载安装包
curl -O https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
或者
wget --no-check-certificate https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
3. 解压后进入解压路径
tar -xvf Python-3.8.5.tgz
cd Python-3.8.5
mv Python-3.8.5 Python3.8
4. 安装依赖,编译再安装
#有可能需要安装以下依赖
sudo apt-get install build-essential
sudo apt-get install zlib*
#
若需安装依赖libressl,见篇尾
#编译并指定安装路径
sudo ./configure --prefix=/usr/lib/python3.8 --with-openssl=/usr/bin/openssl
遇到ssl相关报错:Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host()
sudo make
sudo make install
5. 备份python副本,创建python3链接
sudo mv /usr/bin/python /usr/bin/python.bak
sudo mv /usr/bin/python3 /usr/bin/python3.bak
sudo ln -s /usr/lib/python3.8/bin/python3 /usr/bin/python3
sudo ln -s /usr/lib/python3.8/bin/python3 /usr/bin/python
若使用 sudo ln -s /usr/lib/python3.8/bin/python3.8 /usr/bin/python3 链接到python3
那么python3就是可执行程序了,如:python3 xxx.py
ubuntu自带的python2还有部分程序使用,python2的链接需要保留
6. 检查python3是否可以用
python3
#或
python3 -V
#可查看python3链接到版本
python
#或
python -V
#可查看python链接到版本
7. 安装pip
curl -O https://bootstrap.pypa.io/get-pip.py
sudo apt-get get-pip.py
报错:subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1
网上资料更多的是删除文件:sudo rm /usr/bin/lsb_release
个人觉得更安慰的是重命名 sudo mv /usr/bin/lsb_release /usr/bin/lsb_release.bak
再试一次sudo apt-get get-pip.py 成功
8. 查看现在python版本
ls -l /usr/lib/python3.8/bin/
9. 建立pip相关链接
sudo ln -s /usr/lib/python3.8/bin/pip3 /usr/bin/pip3
sudo ln -s /usr/lib/python3.8/bin/pip3 /usr/bin/pip
相关依赖libressl
下载
wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.0.2.tar.gz
解压
tar -zxvf libressl-3.0.2.tar.gz cd libressl-3.0.2
安装
mkdir /usr/lib/libressl sudo ./configure --prefix=/usr/lib/libressl sudo make sudo make install
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo ln -s /usr/lib/libressl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/lib/libressl/include/openssl /usr/include/openssl