说明

以下所有操作都基于centos6.9

python3.7依赖openssl1.0.2,首先更新系统自带的openssl

建议

升级系统到centos7(系统openssl已升级到1.0.2)

升级openssl

cd /ddhome/tools
wget -c https://www.openssl.org/source/openssl-1.0.2p.tar.gz
tar -xf /ddhome/src # 这里不能用-xzvf,否则python3.7装不了ssl模块 # 配置ssl
cd /ddhome/src
./config shared zlib # shared zlib也不可缺少
make && make install
mv /usr/bin/openssl /usr/bin/openssl-1.0.1e
mv /usr/include/openssl /usr/include/openssl-1.0.1e
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl # 添加库文件路径
#ln -s /usr/local/ssl/lib/libssl.so /usr/local/lib64/libssl.so
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#echo "/usr/local/lib64" >> /etc/ld.so.conf # 替换老版本libssl.so软链接
[root@ddcvb openssl-1.0.2]# ll /usr/lib64/libssl.so
lrwxrwxrwx. 1 root root 16 Aug 25 15:22 /usr/lib64/libssl.so -> libssl.so.1.0.1e
[root@ddcvb openssl-1.0.2]# ll /usr/lib64/libssl.so.10
lrwxrwxrwx. 1 root root 16 Aug 23 04:36 /usr/lib64/libssl.so.10 -> libssl.so.1.0.1e
rm -rf /usr/lib64/libssl.so
ln -s /usr/local/ssl/lib/libssl.so /usr/lib64/libssl.so # 刷新库文件
ldconfig -v # 注意
/usr/lib64/libssl.so.10 不要删, python2.7用的就是它 # 查看版本
openssl version -a

安装依赖包

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

# 3.7必须安装
yum -y install libffi-devel

下载python3.7并配置

cd /ddhome/tools
wget -c https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -xzvf Python-3.7.0 -C /ddhome/src cd /ddhome/src
./configure

开启ssl

开启ssl模块,要不然pip安装https请求的所有模块都会失败,而且必须在make之前完成

先配置python,即先运行 ./configure, 会出现./Module/Setup文件

vim Module/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

安装twisted

wget -c https://files.pythonhosted.org/packages/90/50/4c315ce5d119f67189d1819629cae7908ca0b0a6c572980df5cc6942bc22/Twisted-18.7.0.tar.bz2
tar jxvf Twisted-18.7.0.tar.bz2 python3 setup.py install

安装python3.7

cd /ddhome/src
make && make install

安装爬虫依赖包

pip3 install request selenium scrapy

安装图形编程接口

python的图形编程接口, 使用matplotlib做图时需要

# centos
yum install -y tkinter tk-devel # ubuntu
sudo apt-get install python-tk

安装科学计算相关包

pip3 install matplotlib -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip3 install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip3 install pandas -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip3 install seaborn scipy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

安装pyecharts

pip3 install pyecharts

# Geo Data extensions
pip3 install echarts-cities-pypkg # Map extensions
pip3 install echarts-countries-pypkg
pip3 install echarts-china-provinces-pypkg
pip3 install echarts-china-cities-pypkg
pip3 install echarts-china-counties-pypkg
pip3 install echarts-china-misc-pypkg
pip3 install echarts-united-kingdom-pypkg

matplotlib图形化展示

_tkinter.TclError: no display name and no $DISPLAY environment variable
解决:首行加入下面两句话:
import matplotlib # Force matplotlib to not use any Xwindows backend.
matplotlib.use('Agg')

centos6.9下安装python3.7的更多相关文章

  1. centos6.4下安装python3.6.1

    1.安装编译环境所需包 #yum install zlib-devel bzip2-devel openssl-devel ncurese-devel gcc zlib 安装成功 2.下载源码包 #w ...

  2. Centos6.6下安装Python3.5

    centos6.6自带的Python2.6,如果想要安装新版本的Python例如Python2.7+或者Python3.5,不能够用yum安装,那么只能从源码编译安装. Step 1: 安装依赖库和编 ...

  3. centos6.5下安装python3.6、pip、ipython

    一.先更换系统源 为了下载顺畅一般都会更改为国内源. 1 cd /etc/yum.repos.d/ 2 wget http://mirrors.163.com/.help/CentOS6-Base-1 ...

  4. 在centos6.4下安装python3.5

    1.安装依赖包 ./configure --prefix=/usr/local/python3.5 --enable-shared make && make install yum g ...

  5. 在CentOS6.8上面安装Python3.5

    以前每次装Linux,升级Python,都会一堆问题,然后Google,本来想着记录一下,结果问题太多了,也就记不住了,这次特地记了下来. 在CentOS6.8上面安装Python3.5我的系统是Ce ...

  6. 【转载】CentOS6.5_X64下安装配置MongoDB数据库

    [转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09|  分类: 默认分类|举报|字号 订阅      下载LOFTER客户端 本文转载自zhm&l ...

  7. CentOS6.5下安装apache2.2和PHP 5.5.28

    CentOS6.5下安装apache2.2 1. 准备程序 :httpd-2.2.27.tar.gz 下载地址:http://httpd.apache.org/download.cgi#apache2 ...

  8. CentOS6.5下安装配置MySQL

    CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...

  9. Windows下安装Python3.4.2

    一.Windows下安装Python3.4.2 1.下载Windows下的Python3.4.2.exe 2.指定一个目录安装,然后下一步 3.配置环境变量包括Python.exe的文件.目录如下图所 ...

随机推荐

  1. C#写入文本文档

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. java 通过调用存储过程获取结果集

    一般在java中,数据查询是通过Statement, PreparedStatement获取结果集,今天向大家介绍通过CallableStatement调用存储过程,从而获取结果集.        本 ...

  3. C# WinForm窗体及其控件自适应各种屏幕分辨率

    C# WinForm窗体及其控件自适应各种屏幕分辨率 一.说明  我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置 ...

  4. Python学习---函数的学习1209[all]

    1.基础函数 2.高阶函数 3.递归函数 4.内置函数 5.匿名函数和闭包

  5. [EffectiveC++]item41:了解隐式接口和编译期多态

  6. 设计模式之Proxy(代理)

    设计模式之Proxy(代理) 板桥里人banq http://www.jdon.com 2002/04/21/ 理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水, ...

  7. Linux命令--网络管理

    write命令 Linux write命令用于传讯息给其他使用者. 使用权限:所有使用者. 语法 write user [ttyname] 参数说明: user : 预备传讯息的使用者帐号 ttyna ...

  8. 9、Node.js Stream(流)

    #########################################################################介绍Node.js Stream(流)Stream 是 ...

  9. 021.11 IO流 序列流

    序列流:SequenceInputStream特点:流对象有序排列解决问题:将多个输入流合并成一个输入流,将多个源合并成一个源,对于多个源的操作会变简单. 构造函数参数就是输入流,一初始化就合并了多个 ...

  10. Java中this关键字使用小结

    当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this. 因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this ...