病树前头万木春

CentOS7 安装Python3

2019-04-10  本文已影响0人  长风破浪小武哥

本文主要介绍在CentOS7上通过源码编译的方式案头Python3, 文中用到的是CentOS7.2, Python版本是3.6.7,其他类似版本的处理也是大致相同的.

在安装Python3之前需要解决两个问题:

特别是第二个ssl错误,相信很多人都遇到过,我自己也在这个问题上纠缠了很长时间, 现在将亲测有效的解决方案分享给大家。

1.安装开发环境依赖

sudo yum -y groupinstall development
sudo yum -y install zlib-devel
sudo yum -y install libffi-devel

2.更新openssl

先通过命令看看筷的openssl版本,如果返回是0.9.x, 那肯定需要升级了

openssl version

按照如下方式升级openssl

wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
tar xvzf openssl-1.0.2e.tar.gz
cd openssl-1.0.2e
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make
make test
make install

到这openssl安装完成了, 接下来可以开始编译安装Python3了, 注意我们指定的openssl安装路径是在/usr/local/openssl, 这个后面要用到。

3.安装Python3

wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tgz
tar xvzf Python-3.6.7.tgz
cd Python-3.6.7
vi Modules/Setup.dist

搜索ssl, 取消以下几行注释, 并且修改SSL的值为我们实际安装openssl的值, 即:/usr/local/openssl

_socket socketmodule.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/openssl
_ssl _ssl.c \
 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
 -L$(SSL)/lib -lssl -lcrypto

注: 网上很多说在./configure 后面加--with-openssl的方法来指定openssl的方法自测无效, 通过修改Setup.dist方才生效。

./configure
make
make install

4.验证Python3

python3
import ssl

正常不会报错, 则Python3安装成功。
另外,给大家推荐一个Python虚拟环境的包pipenv, 强大又好用, 大家可以试试。

python3 -m pip install pipenv

至此,CentOS7上安装Python3完毕。
这个是我参考的文章,感谢前人的分享!How to Compile and Install Python with OpenSSL Support?

上一篇下一篇

猜你喜欢

热点阅读