原文参考链接: https://www.cnblogs.com/zh-20170913/p/8351977.html
https://www.cnblogs.com/ice-image/p/10423847.html
下面这个链接地址是我安装时参考的另外一篇文章,结合着一步一步解决的问题~
以下是我执行的顺序,大部分是按照原来作者的顺序来的,有一些小小的细节我自己进行了补充❤
1.第一步:从官网下载安装在redhat上对应的python3版本
下载地址:wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
2.打开

进行连接我们的服务器,如图:

3.选择以下路径将下载好的.tgz文件放入:

如果是新服务器可能没有这个路径,可以自己手动创建,不用疑惑怎么没有这个路径。
4.解压文件命如下:tar -xvf Python-3.6.0.tgz

5.可以查看到文件夹下多了一个python-3.6.0的文件

6.此时再创建一个安装文件的路径

7.进入到解压生成的文件夹下:
可以查看到有configure这个文件 ,此时在解压文件夹下执行命令:

当时我执行该命令的时候出现了错误,提示我没有c compilers 如图:

解决方法:安装gcc 命令:yum install -y gcc

8.接着在解压后的文件夹


将以下内容复制进去
[updates]name=CentOS-6 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]name=CentOS-6 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
9.清理并重建缓存
yum clean all
yum makecache
10.更新yum
yum update
11.进入 python安装包,修改Module路径的setup文件:vim Module/Setup
找到一下一行代码,去掉注释:
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
去掉注释
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
12.重新安装
make
make install
13.修改旧版本
mv /usr/bin/python /usr/bin/python_bak
14.创建新的软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
15.检查python的版本
python -V
python-3.6.0
软连接创建成功
16.以上配置成功后,pip3用不了,需进一步配置
export PATH=$PATH:$HOME/bin:
export PATH=$PATH:$HOME/bin:/usr/local/python3/bin
这时pip3就可以使用了
17.升级完成后,yum无法使用,需更改yum指向源2.7版本
vim /usr/bin/yum,第一句更改为原版本路径即可
18.后续问题
pip3安装包时报错,pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
解决方案:
>>> import sslTraceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/local/python3/lib/python3.6/ssl.py", line 60, in <module>import _ssl # if we can't import it, let the error propagateImportError: No module named _ssl
>>>
查看openssl安装包,发现缺少openssl-devel包
[root@localhost ~]# rpm -aq|grep openssl
openssl-1.0.1e-57.el6.x86_64
yum安装openssl-devel
[root@localhost ~]# yum install openssl-devel -y
#查看安装结果[root@localhost ~]# rpm -aq|grep openssl
openssl-1.0.1e-57.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64
(我自己安装的时候还有很多细节问题 这里也可能会报错 因为python2 和 python3 的版本问题 我记得我有所修改 包括前面的安装步骤也是 可能会因为自己安装的过程中指定的问题 会出现一些小错误 自己可以根据错误提示进行一些修改 基本上不会出现大的问题 冷静 一步步来 看好提示 (#^.^#))
重新编译python
#修改Setup文件vi /usr/software/Python-2.7.5/Modules/Setup
#修改结果如下:# 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
重新编译
make
make install
测试,已可正常使用
[root@localhost ~]# python
Python 3.6.0 (default, Jan 25 2018, 22:31:55)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linuxType "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>
我自己第一次安装的时候也出现了大大小小的问题,总体是看着网上已有的经验进行安装的,自己存下来是为了方便查看,并且其中也有一些补充的地方,仅供参考。
写简书相当于做笔记啦,不然过去了都不知道自己做了什么,全当自己的小空间啦~
