CentOS 7上默认安装的python版本是2.7.5,系统自带的旧版本python被系统很多其他软件环境依赖,因此不能卸载原Python,直接选择Python3.6.5进行全新安装。
image.png1 安装Python3.6可能使用的依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++
检查是否安装了某个软件
1、rpm包安装的,可以用 rpm -qa 看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字"
2、以deb包安装的,可以用 dpkg -l 看到。如果是查找指定软件包,用 dpkg -l | grep "软件或者包的名字"
3、yum方法安装的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "软件名或者包名"
2 安装Python3.6.5
1、下载python3.6.5的Linux安装包
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
或者使用wget下载,到Python官网找到下载路径
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
2、使用root权限打开终端,进行解压缩操作
tar -zxvf Python-3.6.5.tgz
解压缩时如果未指定解压缩目录,解压缩完成后,我们可以在当前目录下看到Python-3.6.5
将目录进行重命名
mv Python-3.6.5 python3.6
3、修改Setup文件
vi /opt/python3.6/Modules/Setup.dist
#修改结果如下:
# 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
4、编译安装包,指定安装目录,进入python3.6目录,执行
cd /opt/python3.6
./configure --with-ssl --prefix=/opt/python3.6 # 目录/opt/python3.6可以根据自己的喜好随意选择,此目录为python的真正安装目录
目录/opt/python3.6可以根据自己的喜好随意选择,此目录为python的真正安装目录
在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,刚好pip3过程需要ssl模块
5、确认无误后,进入安装目录,执行编译
[root@localhost opt]# make
6、确认无误后,执行编译安装
[root@localhost opt]# make install
7、以上步骤执行完成,python3.6基本安装完成;因为系统自带的是python2.7.5,直接执行python命令,所进入默认的python2.6.6的环境;
image.png8、新建软连接,指向新安装的python3.6.5
ln -s /opt/python3.6/bin/python3.6 /usr/bin/python3
/usr/bin/python3 此处路径不要覆盖 /usr/bin/python,否则可能会导致系统其它相关依赖命令无法使用
9、到此为止,即完成了python3.6.5在Centos下的安装,查看ssl是否安装成功
安装pip
Python3.6.5是自带了pip,我们可以进入python3.6的bin目录下进行查看你所安装的Python版本是否自带pip。
image.png所以安装好Python后直接创建一个软连接指向python的pip就可以了,注意,一定要指向pip3,其他的还是会报错
ln -s /opt/python3.6/bin/pip3 /usr/bin/pip
网友评论