华为云:
https://mirrors.huaweicloud.com/python/
1、 下载 Python3代码包
https://www.python.org/downloads/release/python-370/
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
2、解压安装,指定安装路径
tar -zxvf Python-3.7.0.tgz \
&& cd Python-3.7.0 \
&& ./configure --prefix=/usr/local/python3 \
&& make && make install
3、做软链
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
添加环境变量
$ vim ~/.bash_profile
# python3
PYTHON_HOME=/usr/local/python3
export PATH=$PATH:$PYTHON_HOME/bin
$ source ~/.bash_profile
4、测试
# python --version
Python 2.7.5
# python3 --version
Python 3.6.5
报错参考
1、centos 解决python3.7 安装时No module named _ssl
或者报错
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
缺少openssl,或者版本不匹配
# 安装依赖
yum install -y zlib zlib-dev openssl-devel sqlite-devel \
bzip2-devel libffi libffi-devel gcc gcc-c++ zlib*
# 安装最新版openssl
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=/usr/local/openssl-1.1.1 shared zlib
make && make install
# 设置环境变量
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile
# 解压安装
tar -zxvf Python-3.7.0.tgz
./configure --prefix=$HOME/Py37 --with-openssl=/usr/local/openssl-1.1.1
make && make install
echo $HOME
如果安装完后发现版本还是不对,可以设置环境变量 LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH
./configure --prefix=/usr/local/python370 --with-openssl=/usr/local/openssl-1.1.1
make && make install
# 检查openssl版本
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.0.2k-fips 26 Jan 2017
# 检查openssl版本
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.1t 7 Feb 2023
如果重新安装,还是无效,可以参考 Python3 编译安装 --with-openssl 无效的问题
安装完成之后,supervisor启动的程序识别不到,可能会报错
ImportError: libssl.so.1.1: cannot open shared object file: No such file or
处理方法,配置环境变量
environment=LD_LIBRARY_PATH="/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH"
参考
- python报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
- 【Python爬虫】ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is comp
2、解决问题:zipimport.ZipImportError: can’t decompress data; zlib not available
yum -y install zlib*
3、问题:
builtins.ModuleNotFoundError: No module named ‘_sqlite3’
yum install sqlite*
然后重新编译python或者重新安装python
4、ModuleNotFoundError: No module named ‘lzma‘
yum install -y xz-devel mesa-libGL python-backports-lzma
然后重新编译python或者重新安装python
参考: ModuleNotFoundError: No module named ‘lzma‘解决方案
参考:
linux下安装python环境