Loading

CentOS 6.10 下编译源码搭建Python 3.7.2环境

一、实验环境

系统版本 :CentOS release 6.10 (Final)

内核版本: 2.6.32-754.9.1.el6.x86_64

Python版本: Python-3.7.2

 

二、安装系统依赖包

# 解决 import bz2 报错
yum install  bzip2-devel

# 解决 import curses 报错
yum install  ncurses-devel

# 解决 import sqlite3 报错
yum install sqlite-devel

# 解决 _dbm _gdbm 缺失提醒
yum install gdbm-devel

# 解决 _lzma 缺失提醒
yum install xz-devel

# 解决 _tkinter 缺失提醒
yum install tk-devel

# 解决 readline 缺失提醒及方向键行为非预期的问题
yum install readline-devel

yum -y install wget gcc gcc-c++ make zlib zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel pyliblzma libuuid-devel
yum -y install gdbm-devel xz-devel tk-devel openssl-devel tkinter tcl-devel db4-devel libpcap-devel gdbm-devel libffi libffi-devel
yum -y groupinstall "Development tools"

#源码安装openssl,解决Python3.7需要的openssl版本最低为1.0.2 解决:ImportError: No module named _ssl
cd /opt
wget
https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar xf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a/
./config --prefix=/opt/openssl shared zlib
make && make install
vi /etc/ld.so.conf

  ldconfig

 

三、编译安装

cd /opt

wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

tar xf Python-3.7.2.tgz

cd Python-3.7.2

sed -i 's/^#readline/readline/' Modules/Setup.dist
sed -ri 's/^#(_ssl)/\1/p' Modules/Setup.dist 
sed -ri 's/^#([\t]-DUSE)/\1/p' Modules/Setup.dist 
sed -ri 's/^#([\t]-L\$(SSL))/\1/p' Modules/Setup.dist

./configure --prefix=/opt/python3 --with-openssl=/opt/openssl --enable-shared --enable-optimizations

make

make install

 

ln -s /opt/python3/bin/python3 /bin/

ln -s /opt/python3/bin/pip3 /bin/

 

四、参考引用:

https://blog.51cto.com/13575683/2114585

https://www.jianshu.com/p/9b8ffb22687a

https://www.jianshu.com/p/3ec24f563b81

 

posted @ 2019-02-22 18:09  后边跟上。  阅读(495)  评论(0编辑  收藏  举报