系统:CentOS 7
用户:root
Python版本:python3.6.7
1,找个联网的计算机,下载安装包和依赖
python下载地址:https://www.python.org/ftp/python/
依赖:
yumdownloader --resolve --destdir=/home/packages zlib zlib-devel bzip2-devel epel-release ncurses-devel mpfr libmpc kernel-headers glibc glibc-common glibc-headers glibc-devel cpp gcc libffi-devel libgcc libgomp libstdc++ libstdc++-devel gcc-c++
注:使用 yumdownloader 命令 需先安装yum-utils
—destdir:指定 rpm 包下载目录(不指定时,默认为当前目录)
—resolve:下载依赖的 rpm 包
2,登录到centOS机器,新建文件夹
mkdir /usr/local/python3
将安装包和依赖包里的文件上传至/usr/local/python3
3,进入目录
cd /usr/local/python3/
4,安装依赖
rpm -Uvh --force --nodeps *rpm
5,进行解压
tar -xzvf Python-3.6.7.tgz
注意:如果你下载的python包是tar.xz格式的需要先执行
xz -d Python-3.6.7.tar.xz
然后获得一个Python-3.6.7.tar,再执行
tar -xvf Python-3.6.7.tar
就能解压成功了
6,进入解压路径
cd /usr/local/python3/Python-3.6.7
7,设置安装路径
./configure --prefix=/usr/local/tools/python3.6.7 --enable-shared
make && make install
8,建立软连接(Python与pip都建立软连接,分别为python3、pip3与系统自带的Python2区分)
ln -s /usr/local/tools/python3.6.7/bin/python3.6 /usr/bin/python3
ln -s /usr/local/tools/python3.6.7/bin/pip3.6 /usr/bin/pip3
使用命令ls -l /usr/bin/查看软连接是否已创建成功:
9,配置python3.6的lib到ldconfig
vi /etc/ld.so.conf.d/python3.conf,添加如下内容
/usr/local/tools/python3.6.7/lib
或者直接执行:echo “/usr/local/tools/python3.6.7/lib” > /etc/ld.so.conf.d/python3.6.conf
然后执行:ldconfig
10,检查Python3.6.7是否安装成功
命令行输入python3
或者python3 -V
配置环境变量主要是能快速使用pip3安装命令。
执行 vi ~/.bash_profile,打开配置文件,添加如下配置:
#配置python
export PYTHON_HOME=/usr/local/tools/python3.6.7
export PATH=$PYTHON_HOME/bin:$PATH
保存退出(:wq),执行source ~/.bash_profile命令使配置生效。
执行echo $PYTHON_HOME命令,查看是否配置成功
链接: https://pypi.org/project/pip/#files
2、上传到服务器
3. 运行python -m pip install --upgrade pip-22.3.1-py3-none-any.whl (注意:pip轮子的文件名.whl,一定要有后缀)
1、 查看系统信息(这一步很关键)
确定了系统才能知道需要下载什么版本的依赖!!!
对比看缺什么,其中 openssl-1.0.x86_64 和openssl-develx86_64 这两个是必须的,如果没有,那就去下载。
2、下载缺失包
下载时一定要注意版本的对应
下载方法1
http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
http://mirror.centos.org/centos/7/updates/x86_64/Packages/
这两个地址里面的东西是相当全乎的
安装这两个东西的时候可能会缺少依赖,在地址中仔细找找,都有的
参考:
OpenSSL 依赖包清单参考如下(镜像站下载)
keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
krb5-devel-1.15.1-50.el7.x86_64.rpm
krb5-libs-1.15.1-50.el7.x86_64.rpm
libcom_err-1.42.9-19.el7.x86_64.rpm
libcom_err-devel-1.42.9-19.el7.x86_64.rpm
libkadm5-1.15.1-50.el7.x86_64.rpm
libselinux-2.5-15.el7.x86_64.rpm
libselinux-devel-2.5-15.el7.x86_64.rpm
libsepol-devel-2.5-10.el7.x86_64.rpm
libverto-devel-0.2.5-4.el7.x86_64.rpm
openssl-1.0.2k-19.el7.x86_64.rpm
openssl-devel-1.0.2k-19.el7.x86_64.rpm
openssl-libs-1.0.2k-19.el7.x86_64.rpm
openssl-perl-1.0.2k-19.el7.x86_64.rpm
openssl-static-1.0.2k-19.el7.x86_64.rpm
pkgconfig-0.27.1-4.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm
查看验证openssl版本
#版本查看
openssl version
一定要看
虽然已经列出了openssl的依赖包,但每个机器使用的镜像可能不相同,所需依赖的包也不尽相同,缺失什么依赖去镜像站下载即可。
下载方法2
在有网的机器上下载然后再离线安装
yumdownloader --resolve --destdir=/home/openssl openssl-devel-1.0.2k-25.el7_9.x86_64
3、上传至 /usr/local/ssl
进入目录 cd /usr/local/ssl
4、按照提示安装依赖包
rpm -ivh openssl-devel-1.0.2k-19.el7.x86_64.rpm
5、查看openssl的安装位置
whereis opemssl
5、修改python文件
进到Python-3.6.0安装目录,
有Modules这个目录,cd Modules,找到Setup.dist这个文件,vi Setup.dist 打开
找到
#SSL=/usr/local/ssl
#_ssl _ssl.c \
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
# -L$(SSL)/lib -lssl -lcrypto
修改为
SSL=/usr/
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
注意要根据openssl的安装位置修改
6、重新安装python
./configure --prefix=/usr/local/tools/python3.6.7 --with-ssl
make
make install