# 安装依赖
gcc --versions
# 如果没有,则安装gcc
yum -y install gcc wget
# 安装必要依赖
yum -y install zlib*
yum -y install libffi-devel
yum -y install openssl-devel
# 更新openssl 1.1.1版本以上
yum install -y gcc gcc-c++ glibc make autoconf pcre-devel pam-devel pam* zlib* pam* zlib*
wget https://ftp.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
tar xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w/
mkdir /usr/local/openssl
./config --prefix=/usr/local/openssl --shared zlib
make && make install
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf.d/openssl-1.1.1w.conf
ldconfig -v
\mv /bin/openssl /bin/openssl.bak
\mv /usr/bin/openssl /usr/bin/openssl.bak
\mv /usr/include/openssl /usr/include/openssl.bak
\mv /usr/local/bin/openssl /usr/local/bin/openssl.bak
\mv /usr/lib64/libssl.so.1.0.2k /usr/lib64/libssl.so.1.0.2k.bak
\mv /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.1.0.2k.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/bin/openssl /usr/local/bin/openssl
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /lib/libcrypto.so.3
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /lib/libcrypto.so.6
ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
ln -s /usr/local/openssl/lib64/libssl.so /usr/lib64/libssl.so
ln -s /usr/local/openssl/lib64/libcrypto.so /usr/lib64/libcrypto.so
# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
/sbin/ldconfig -v
openssl version
# 或 yum安装
yum install -y openssl11 openssl11-devel
# 删掉已安装python
rm -rf /usr/local/python3
# 替换openssl 为openssl11
sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure
./configure --prefix=/usr/local/python3 && make && make install
# 如果 没有wget,还需安装
yum -y install wget
# 下载 python3
# 以下载python3.10.13为例
# 切换到下载路径
cd ~
wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
# 编译安装
tar -zxvf Python-3.10.13.tgz
# 新建一个python3的安装目录(位置可自定义)。
mkdir /usr/local/python3
# 进入下载解压的Python-3.10.13目录下,「指定安装目录,设置启用ssl功能」。
cd ~
cd Python-3.10.13
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
make && make install
# 创建软连接
# 建立安装包下python3.10到 /usr/bin下python3 及 pip3的连接,以便命令行使用
ln /usr/local/python3/bin/python3.10 /usr/bin/python3
ln /usr/local/python3/bin/pip3.10 /usr/bin/pip3
ln -s /usr/bin/pip3 /usr/bin/pip
# 删除原来centos7默认的python 到python2.7的连接,重写创建到python的软连接
rm -f /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
# python --version
Python 3.10.13
# pip --version
pip 23.0.1 from /usr/local/python3/lib/python3.10/site-packages/pip (python 3.10)
python -m pip install --upgrade pip
# 修改yum
# Linux centos7自带的python版本是2.7,yum使用python2.7作为命令解释器。安装python3后,软连接/usr/bin/python指向的版本是python3,不修改yum的配置,会导致yum使用报错,无法安装包等。
# 「报错信息1:」
# yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^^^^^^^^^^^^^^^^^^^^
SyntaxError: multiple exception types must be parenthesized
# vi /usr/bin/yum
# 修改yum配置文件,下面两个文件都要修改。
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
按i进入编辑模式,在第一行
#!/usr/bin/python把修改为#!/usr/bin/python2.7,
mkdir -p ~/.pip
vim ~/.pip/pip.conf
[global]
# 设置默认的软件包安装源为PyPI(Python软件包索引)
index-url = https://mirrors.aliyun.com/pypi/simple/
# 额外的软件包安装源
extra-index-url = https://mirror.baidu.com/pypi/simple/
https://mirrors.cloud.tencent.com/pypi/simple/
https://mirrors.huaweicloud.com/repository/pypi/simple/
https://mirrors.163.com/pypi/simple/
https://pypi.doubanio.com/simple/
https://pypi.mirrors.ustc.edu.cn/simple/
https://pypi.tuna.tsinghua.edu.cn/simple/
# 设置socket超时时间100s(默认为15s)。
timeout = 100
# 关闭pip版本检查
disable-pip-version-check = true
[install]
# 用于指定可信任的主机,以解决一些安全警告。
trusted-host = mirrors.aliyun.com
mirror.baidu.com
mirrors.cloud.tencent.com
mirrors.huaweicloud.com
mirrors.163.com
pypi.doubanio.com
pypi.mirrors.ustc.edu.cn
pypi.tuna.tsinghua.edu.cn