由于yum安装的openssl是1.0.1的版本,对于python3.7太老了,需要更新为openssl1.0.2或者libressl2.64(不含)以后的版本,
不然Django和pip无法使用
第一步,下载新的openssl
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
第二步,解压
tar -zxvf openssl-1.1.1d.tar.gz
第三步,进入目录
第四步,编译安装,--prefix是安装目录
./config --prefix=/usr/local/openssl
make && make install
最后查看是否安装上了对应版本
openssl version
(如果这里不是对应的版本,则执行 /usr/local/openssl/bin/openssl version 是否是对应版本,如果是则执行如下)
mv /usr/bin/openssl /usr/bin/openssl.bck
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
且编辑如下文件
vi /etc/ld.so.conf
添加
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/openssl/lib/
最后
openssl version
接下来我们安装python3.7.2吧
第一步,先安装相关依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install gcc -y
yum install libffi-devel -y
第二步,下载python3.7.2
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
第三步,解压,并且进入目录
tar -zxf Python-3.7.2.tgz
cd Python-3.7.2
第四步,编译安装,--prefix是安装目录,-with-openssl是上面安装openssl的路径
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make && make install
替换原来的文件
mv /usr/bin/python /usr/bin/python.bak
mv /usr/bin/pip /usr/bin/pip.bak
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
最后最后,安装Django
pip install django
到这里就安装完成啦!但是事情还没有结束,因为yum是用python2.x写的,所以安装完python3之后yum会不可用,解决方法如下
vi /usr/bin/yum
!/usr/bin/python 这一行改成 !/usr/bin/python2.6 (或者 !/usr/bin/python2.7)
之后就结束了!!请放心使用吧。
如果还是觉得麻烦,请下载并且安装我们的vm,直接解压就可以使用了!
下载链接: https://pan.baidu.com/s/1KpK_x0fArvJH8VsShNNoZA
提取码:关注公众号 ,发送 python3 获取提取码
未来我们还会更新更多的干货文章,请关注我们的公众号 Toast for what,里面有各种面试、算法、编程技巧等干货哦。
(欢迎评论区留言交流)