CentOS 7默认已安装2.7.5版本,如需安装3.x以上版本(3.11是测试版本,不稳定,且和pillow不兼容,不建议使用),不建议删除自带的2.7.5版本,建议和3.x版本共存
1:安装Python可能需要的依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++
2:查看python 版本
[root@localhost ~]# python -V
Python 2.7.5
3:下载Python3.6.5 压缩包
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tg
官网:Welcome to Python.org
使用wget下载:
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
使用root权限打开终端,进行解压缩操作:
tar -zxvf Python-3.6.5.tgz
4:对安装包目录进行重命名:
mv Python-3.6.5 python3.6
移动python目录到opt下:
mv /python3.6 /opt/
5:修改Setup文件,启动ssl模块:
vi /opt/python3.6/Modules/Setup.dist
更改文件\删除注释:(a插入,:q!不保存退出,:wq 或 :x保存退出)
# Socket module helper for socket(2)
#_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
#_ssl _ssl.c \
#-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
#-L$(SSL)/lib -lssl -lcrypto
为:
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
:x保存退出
6:编译安装包,指定安装目录,进入python3.6目录,执行
进入python3.6目录
cd /opt/python3.6
指定安装目录(prefix=/opt/python3.6为python的真正安装目录,可做修改)
./configure --with-ssl --prefix=/opt/python3.6
在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,刚好pip3过程需要ssl模块
确认无误后,进入安装目录,执行编译与安装(make check 或 make test 可对软件进行测试)
[root@localhost python3.6]# make && make install
系统自带的是python2.7.5,直接执行python命令,所进入自带的环境
[root@localhost ~]# python -V
Python 2.7.5
将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
新建软连接,指向新安装的python3.6.5
ln -s /opt/python3.6/bin/python3.6 /usr/bin/python
6. 更改yum配置(yum用到python2才能执行,否则会导致命令不能正常使用)
vi /usr/bin/yum
把 #! /usr/bin/python
修改为:#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python
修改为:#! /usr/bin/python2
7:验证是否可用全局可用
[root@localhost ~]# python -V
Python 3.6.5
配置pip:
1:Python3.6.5是自带了pip,我们可以进入python3.6的bin目录下进行查看你所安装的Python版本是否自带pip。
[root@localhost bin]# ls /opt/python3.6/bin/
2:创建一个软连接指向python的pip(一定要指向pip3,其他的还是会报错)
ln -s /opt/python3.6/bin/pip3 /usr/bin/pip
3:检查pip版本(注:正常情况pip版本9.0.3,此处更新过)
[root@localhost bin]# pip -V
pip 21.3.1 from /opt/python3.6/lib/python3.6/site-packages/pip (python 3.6)
4:旧版可能会提示pip版本不匹配,需要更新,执行更新命令
pip3 install --upgrade pip
5:检查更新后pip版本
[root@localhost bin]# pip -V
pip 21.3.1 from /opt/python3.6/lib/python3.6/site-packages/pip (python 3.6)
更新完成后,可正常使用pip安装模块了!