专栏首页Python专栏Python | 搭建Python数据分析平台

Python | 搭建Python数据分析平台

作者:猛禽

来源:http://blog.csdn.net/raptor/article/details/78035782

1. 基本结构

其实没什么高深的东西,无非是常用的那一套:

pandas, numpy, matplotlib…

但是为了更方便使用,加持了 jupyter notebook(即以前的ipython notebook)……

又为了更方便使用,前端加了nginx或apache反代……

双为了更安全,加持了Let’s Encrypt的HTTPS(只是这台服务器没有80端口,原因你懂的,所以不能用我以前说的方法,这里用了新方法)……

2.安装环境

我在自己的FreeBSD或Debian服务器上都是手工安装所需要的包,但是这个方法并不适合不熟悉的人。

相比之下,Linux或Mac还算方便,但是在Windows下那简直就是噩梦一般的存在——因为除了纯python包以外,所有包含了非python依赖的包在Windows下安装都是各种麻烦——毕竟Windows没有自带编译环境。

所以这里说的是简便方法:Anaconda

Anaconda是个好东西,搞python的人——特别是不爱折腾的人——必备的大杀器。它相当于打包了python的基本环境和常用的包,甚至还包括包管理器,有了Anaconda,在所有平台上都可以很方便地使用python了。

安装非常简单,直接从官网下载安装程序运行即可。

注意,强烈推荐安装python3的版本,毕竟python2已经out了。

3.初步使用

装完Anaconda,python环境就已经可以用了——当然是命令行,或者再加上一个编辑器,IDLE那货我觉得还不如VIM。想正经干活当然应该装个IDE,比如PyCharm,但是对于初学者或者非程序员来说,没这个必要,还是notebook方便简单。

早先这个是属于ipython的一个部分,就是一个web版的ipython,后来ipython变成了jupyter,所以它也变成了jupyter notebook了。

jupyter notebook已经包含在最新版的Anaconda里了,所以直接就可以用。

在本地使用notebook是非常简单的,运行:

会启动一个实例,并自动打开一个浏览器页面,之后就可以正常使用。

这样用当然可以,但更好的方法是让它跑在远程服务器上,再通过浏览器打开。

最简单的方法就是把8888端口开放出去,不过这样不安全,并不推荐,所以还需要作一些配置。

4.配置jupyter notebook

相比ipython notebook,新的jupyter notebook使用配置方面比原来方便多了。

首先是创建配置文件:

然后就可以在 ~/.jupyter/ 下看到 jupyter_notebook_config.py 这个配置文件,其中有很多配置选项可以修改,但这里不细说,有兴趣的人自己去研究吧。

这里只提一个:

把这个改成False就不会自动打开浏览器了。

但是手动打开浏览器有个问题,就是需要输入一个token才能登录使用,而这个token需要到启动LOG去看,略麻烦。所以需要配置一个自己的登录密码:

之后在命令行里输入要设置的密码,之后会自动保存到配置文件里去,重启jupyter notebook之后即可使用了。

5.反向代理配置

因为jupyter notebook使用了websock,所以简单配置反向代理到端口8888是不行了。

Nginx配置如下:

Apache配置如下:

6.https配置

https配置之前的文章里说过很多次,但是这次的要介绍的是不同的方法。

因为原来用acme-tiny有个问题就是需要http支持来实现域名验证,而我现在碰到的问题是没有80端口可用,所以这个方法行不通。

但并不是没有办法,因为Let’s Encrypt除了支持http验证以外,还有很多其它方式,比如DNS(但需要域名服务商有API支持),还有这里要说的:tls-sni方式,即仅https方式。

这是Let’s Encrypt官方客户端支持的,所以需要先安装(以nginx为例):

然后就可以创建证书了:

执行完就可以自动创建证书并保存,同时还会修改相应的nginx配置文件,非常方便。

现在,可以通过 https://your.domain.name/ 访问,输入前面配置的密码,即可登录并使用jupyter notebook。

推荐阅读:

万字谏言,给那些想学Python的人,建议收藏后细看!

本文分享自微信公众号 - Python专栏(xpchuiit)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 搭建python数据分析平台

    基本结构 其实没什么高深的东西,无非是常用的那一套: pandas, numpy, matplotlib… 但是为了更方便使用,加持了 jupyter note...

    小小科
  • 大数据平台搭建:基于Hadoop的数据分析平台

    互联网的发展,带来了各种数据的爆发式增长,所有接入互联网的相关操作行为,都化为虚拟的数据被记录了下来。大数据时代的带来,一个明显的变化就是全样本数据分析,面对T...

    成都加米谷大数据
  • 一小时搭建实时数据分析平台

    实时数据分析门槛较高,我们如何用极少的开发工作就完成实时数据平台的搭建,做出炫酷的图表呢?

    实时计算
  • Hadoop离线数据分析平台实战——440DataApi后台架构搭建Hadoop离线数据分析平台实战——440DataApi后台架构搭建

    Hadoop离线数据分析平台实战——440DataApi后台架构搭建 项目进度 模块名称 完成情况 1. 程序后台框架搭建 未完成 2. 用户...

    Albert陈凯
  • R : Shiny|搭建单细胞数据分析云平台

    在R for data science这本书中,作者提出数据分析的一个流程,在数据转换、可视化以及建模之后,来到数据分析的新阶段:与别人分享我们的数据。之前我们...

    生信技能树jimmy
  • 数据分析36计 :Uber的 A/B 实验平台搭建

    实验是Uber如何改善客户体验的核心。Uber将多种实验方法应用于各种用例,例如测试一项新功能以增强我们的应用程序设计。Uber的实验平台(XP)在此过程中扮...

    数据森麟
  • Hadoop数据分析平台实战——170Oozie介绍及环境搭建离线数据分析平台实战——170Oozie介绍及环境搭建

    离线数据分析平台实战——170Oozie介绍及环境搭建 Oozie介绍 Oozie是一个工作流引擎服务器,用于运行Hadoop Map/Reduce和Hive等...

    Albert陈凯
  • 大数据平台HDP搭建

    在ambari的setup中我们可以选择使用默认的postgresql,也可以自定义使用其他数据库,此处选用mariadb,便于后期管理维护

    KaliArch
  • 大数据平台CDH搭建

    Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于Web的用户界面,...

    KaliArch
  • centos7搭建superset数据平台

    安装完安装一些基础包: yum -y install perl gd gd-devel libpng libpng-devel libjpeg libjpeg-...

    @凌晨
  • 建立个人数据分析平台

    hankleo
  • Python数据分析入门(一):搭建环境

    本课程用到的Python版本都是3.x。要有一定的Python基础,知道列表、字符串、函数等的用法。 Python爬虫、数据分析、网站开发等案例教程视频免费在线...

    松鼠爱吃饼干
  • Lepus搭建企业级数据库慢查询分析平台

    Lepus的慢查询分析平台是独立于监控系统的模块,该功能需要使用percona-toolkit工具来采集和记录慢查询日志,并且需要部署一个我们提供的shell脚...

    小柒2012
  • Lepus搭建企业级数据库慢查询分析平台

    Lepus的慢查询分析平台是独立于监控系统的模块,该功能需要使用percona-toolkit工具来采集和记录慢查询日志,并且需要部署一个我们提供的shell脚...

    小柒2012
  • Hadoop数据分析平台实战——110Hive介绍和Hive环境搭建离线数据分析平台实战——110Hive介绍和Hive环境搭建

    离线数据分析平台实战——110Hive介绍和Hive环境搭建 Hive介绍 Hive是构建在Hadoop之上的数据仓库平台,设计目标就是将hadoop上的数据操...

    Albert陈凯
  • 搭建ELK日志分析平台+Filebeat

    一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大也就是日志量多而复杂的场景中,此方法效率低下,面临问题包...

    用户8826052
  • 搭建ELK日志分析平台+Filebeat

    一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大也就是日志量多而复杂的场景中,此方法效率低下,面临问题包...

    子润先生
  • Python开发物联网数据分析平台---数据看板

    MiaoGIS
  • Python开发物联网数据分析平台---最新数据

    后台和模板都是使用tornado,开发过程中体会到了使用模板的高效率和事半功倍,甚至对"php是最好的web编程语言"也明白了理由。

    MiaoGIS

扫码关注云+社区

领取腾讯云代金券