设为首页 收藏本站
查看: 1032|回复: 0

[经验分享] 搭建python数据分析平台

[复制链接]

尚未签到

发表于 2018-8-13 07:39:34 | 显示全部楼层 |阅读模式
  基本结构
  其实没什么高深的东西,无非是常用的那一套:
  pandas, numpy, matplotlib…
  但是为了更方便使用,加持了 jupyter notebook(即以前的ipython notebook)……
  又为了更方便使用,前端加了nginx或apache反代……
  双为了更安全,加持了Let’s Encrypt的HTTPS(只是这台服务器没有80端口,原因你懂的,所以不能用我以前说的方法,这里用了新方法)……
  安装环境
  我在自己的FreeBSD或Debian服务器上都是手工安装所需要的包,但是这个方法并不适合不熟悉的人。
  相比之下,Linux或Mac还算方便,但是在Windows下那简直就是噩梦一般的存在——因为除了纯python包以外,所有包含了非python依赖的包在Windows下安装都是各种麻烦——毕竟Windows没有自带编译环境。
  所以这里说的是简便方法:Anaconda
  Anaconda是个好东西,搞python的人——特别是不爱折腾的人——必备的大杀器。它相当于打包了python的基本环境和常用的包,甚至还包括包管理器,有了Anaconda,在所有平台上都可以很方便地使用python了。
  安装非常简单,直接从官网下载安装程序运行即可。
  注意,强烈推荐安装python3的版本,毕竟python2已经out了。
  初步使用
  装完Anaconda,python环境就已经可以用了——当然是命令行,或者再加上一个编辑器,IDLE那货我觉得还不如VIM。想正经干活当然应该装个IDE,比如PyCharm,但是对于初学者或者非程序员来说,没这个必要,还是notebook方便简单。
  早先这个是属于ipython的一个部分,就是一个web版的ipython,后来ipython变成了jupyter,所以它也变成了jupyter notebook了。
  jupyter notebook已经包含在最新版的Anaconda里了,所以直接就可以用。
  在本地使用notebook是非常简单的,运行:
DSC0000.jpg

  会启动一个实例,并自动打开一个浏览器页面,之后就可以正常使用。
  这样用当然可以,但更好的方法是让它跑在远程服务器上,再通过浏览器打开。
  最简单的方法就是把8888端口开放出去,不过这样不安全,并不推荐,所以还需要作一些配置。
  配置jupyter notebook
  相比ipython notebook,新的jupyter notebook使用配置方面比原来方便多了。
  首先是创建配置文件:
DSC0001.jpg

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

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

  之后在命令行里输入要设置的密码,之后会自动保存到配置文件里去,重启jupyter notebook之后即可使用了。
  反向代理配置
  因为jupyter notebook使用了websock,所以简单配置反向代理到端口8888是不行了。
  Nginx配置如下:
DSC0004.jpg

  Apache配置如下:
DSC0005.jpg

  https配置
  https配置之前的文章里说过很多次,但是这次的要介绍的是不同的方法。
  因为原来用acme-tiny有个问题就是需要http支持来实现域名验证,而我现在碰到的问题是没有80端口可用,所以这个方法行不通。
  但并不是没有办法,因为Let’s Encrypt除了支持http验证以外,还有很多其它方式,比如DNS(但需要域名服务商有API支持),还有这里要说的:tls-sni方式,即仅https方式。
  这是Let’s Encrypt官方客户端支持的,所以需要先安装(以nginx为例):
DSC0006.jpg

  然后就可以创建证书了:
DSC0007.jpg

  执行完就可以自动创建证书并保存,同时还会修改相应的nginx配置文件,非常方便。
  现在,可以通过 https://your.domain.name/ 访问,输入前面配置的密码,即可登录并使用jupyter notebook。
  作者:猛禽
  来源:http://blog.csdn.net/raptor/article/details/78035782

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-550885-1-1.html 上篇帖子: Python模块:OS模块 下篇帖子: 初学python之字符串常见操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表