Ubuntu14.04安装Python3.8

1.安装依赖软件包
apt install -y build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libncurses-dev \
libsqlite3-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev tk-dev liblzma-dev lzma-dev uuid-dev
2.升级openssl
# 升级之前查看openssl版本
openssl version
OpenSSL 1.0.1f 6 Jan 2014

# 安装openssl
cd openssl-1.1.1h
./config shared --prefix=/usr/local/openssl
make -j8
make install

# 配置使用新版openssl
/*备份系统openssl*/
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

/*配置软连接至新版本*/
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
#ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so
#ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

/*写入openssl库文件的搜索路径*/
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

/*使修改后的/etc/ld.so.conf生效*/
ldconfig -v

# 查看系统使用的版本
openssl version
OpenSSL 1.1.1h  22 Sep 2020
3.安装Python3.8
cd Python-3.8.7/
./configure --prefix=/usr/local/python38 --with-openssl=/usr/local/openssl  
            --enable-optimizations  #可选,优化编译;
make clean && make -j8
make install 
4.验证安装成功
/usr/local/python38/bin/python3.8
import ssl
ssl.OPENSSL_VERSION
'OpenSSL 1.1.1h  22 Sep 2020'
5.添加到PATH路径
ln -s /usr/local/python38/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python38/bin/pip3  /usr/bin/pip3
6.故障排查
# 替换系统PATH内python3由原来的python3.8到python3.8后,执行不存在的系统命令报错:
root@ubuntu1404:~# r
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 27, in <module>
    from CommandNotFound.util import crash_guard
ModuleNotFoundError: No module named 'CommandNotFound'

# 解决办法,保留PATH内python3软连接,新建一个python38:
ln -s /usr/local/python38/bin/python3.8 /usr/bin/python38
posted @ 2021-01-13 11:21  Beavan  阅读(866)  评论(0)    收藏  举报