记录安装python3.8的坑

无论是在linux系统还是macos系统中都含有自带的python2版本,所以安装python3.x版本就要自己安装,接下来会对比python3.6版本和3.6以上版本区别以及遇到的坑

安装python
cd /opt;
sudo wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
sudo tar -zvxf  Python-3.8.5.tgz
cd  Python-3.8.5
遇到问题:openssl 1.0.1是原来系统自带的版本,因openssl 1.0.1存在安全问题,python3自3.7版本后要求依赖openssl 1.0.2以上或libressl
python3.7以上建议使用libressl代替openssl,故需要通过源码编译安装libressl
sudo wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.0.2.tar.gz
sudo tar -zxvf libressl-3.0.2.tar.gz
cd libressl-3.0.2
sudo ./configure --prefix=/usr/local/libressl
sudo make
sudo make install
备份原来的openssl
sudo mv /usr/bin/openssl /usr/bin/openssl_bak
sudo mv /usr/include/openssl /usr/include/openssl_bak
为新的openssl配置软链接
sudo ln /usr/local/libressl/include/openssl /usr/include/openssl
sudo ln /usr/local/libressl/bin/openssl /usr/bin/openssl
修改配置
sudo vim /etc/ld.so.conf.d/libressl-3.0.2.conf
输入:/usr/local/libressl/lib
#使修改后的配置生效
sudo ldconfig -v
#验证结果
openssl version
成功的结果是:LibreSSL 3.0.2 这个时候openssl已经升级完毕
【python pip install flask-script报错】 ModuleNotFoundError: No module named '_ctypes'
ubuntu:sudo apt-get install libffi-dev
centos:yum install libffi-devel
这个时候开始重新编译安装python3.8:
cd /opt/Python-3.8.5
sudo ./configure --prefix=/opt/python3.8 --with-openssl=/usr/local/libressl
sudo make
sudo make install
结果:pip setuptools也会一起安装
安装flask:sudo pip install flask==1.1.2【要加sudo不然会安装到/home/user/.local,flask要1.1.2版本,2.0.x版本会报错ModuleNotFoundError: No module named 'flask._compat】
接下来安装uwsgi就不会报错了!!!【主要原因是之前安装的3.6版本一直装不了uwsgi,所以重新装了3.8版本】

你可能感兴趣的:(linux,linux,python)