基本结构

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

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是非常简单的,运行:

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

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

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

配置jupyter notebook

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

首先是创建配置文件:

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

这里只提一个:

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

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

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

反向代理配置

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

Nginx配置如下:

Apache配置如下:

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数据分析平台相关推荐

  1. python程序设计课程设计_《Python程序设计》教学大纲.doc

    PAGE 理论课程教学大纲 <Python程序设计>教学大纲 课程编号: 总 学 时:64(其中,讲课:32:实验:32) 学 分:3 实践教学:0周 修读专业:地理信息系统.应用化学 大 ...

  2. python程序设计课程设计_《Python程序设计》课程教学大纲

    < python 程序设计>课程教学大纲 课程代码: 060132002 课程英文名称: Python Program Design 课程总学时: 32 讲课: 32 实验: 0 上机: ...

  3. python二手房课程设计_【Python】赶集网二手房爬虫 (可扩展)

    [Python] 纯文本查看 复制代码import requests import os from bs4 import BeautifulSoup class GanJi(): "&quo ...

  4. python商业数据分析课程设计_商务数据分析实验室

    1  实验室介绍 实验室建设总目标是搭建一站式教学服务平台,一站式教学服务平台概念是在深刻理解高校学科建设及存在的若干问题上提出.围绕着学科建设的各个方面,从专业开设.课程设置.师资培养.教学资源.实 ...

  5. python人工智能课程设计_中小学课程设计:以计算思维培养为核心的人工智能课程设计与实践...

    面对国际日趋紧张的科技竞争,发展新一代人工智能已成为各国的重要国家战略.人工智能人才的梯队建设是我国发展人工智能技术和推动产业应用的重要基础. 01存在问题 近年来教育部和各省市教育主管部门发布了一系 ...

  6. python操作系统课程设计_操作系统课程设计.pdf

    计算机科学与通信工程学院 操作系统课程设计报告 题目:linux系统下实现PV 操作 班级: 软件工程1401 姓名: 吴帅帅 学号: 3140608020 指导老师: 牛德姣 2016 年12 月2 ...

  7. python 科学计算设计_《Python科学计算-(第2版)》怎么样_目录_pdf在线阅读 - 课课家教育...

    第1章 Python科学计算环境的安装与简介 1 1.1 Python简介 1 1.1.1 Python 2还是Python 3 1 1.1.2 开发环境 2 1.1.3 集成开发环境(IDE) 5 ...

  8. python工作者工作环境_搭建python环境

    搭建python环境 windows下可以安装enthought 集成的 EPDFree32安装包安装python用这个集成了基本所有需要的插件和环境. 装完以后可以运行桌面上pylab程序进入pyt ...

  9. python 通讯录课程设计_如何用Python设计一个通讯录类?

    直接上代码:一共三个文件 CommunicateClass.py # @File : CommunicateClass.py class Communicate(): ""&quo ...

最新文章

  1. 444牛X的日常口语
  2. python就业方向及工资-【行情分享】python就业方向与薪资大揭秘
  3. usb dfu和usb fastboot的区别
  4. 经验主义 保守主义_为什么我们需要行动主义-始终如此。
  5. 在VB应用程序中调用Excel2000
  6. SpringBoot中使用Hibernate Validator校验工具类
  7. spark学习-Spark的Core理解
  8. 网络排障少走弯路两案例速解网管疑难
  9. jlabel 不能连续两次set_请问一个JAVA中JLabel的setFont()问题?
  10. 刚刚编译运行的项目,突然就不能用了。AndroidStudio最难用
  11. 易筋SpringBoot 2.2 | 第廿九篇:SpringBoot之RPC入门到精通
  12. C# WinForm调用UnityWebPlayer Control控件 学习笔记1
  13. 性能测试adb常用命令
  14. 计算机毕业设计asp.net的旅游网站(源码+系统+mysql数据库+Lw文档)
  15. 硬件产品的成本构成——研发、产品边际成本和服务
  16. DS18B20 数字温度传感器的使用和基于RT-Thread操作系统的实现
  17. 单调、加班、血汗工厂,被夸大的富士康背后真相到底是什么?
  18. 从技术实现到安全运行,工程师版“元宇宙”离我们还有多远?
  19. 2022最新影视小程序源码支持josn官解 卡密系统
  20. WinSCP:支持与linux互传的windows端的图形化SCP

热门文章

  1. java linkedlist 节点_JAVA学习-LinkedList详解
  2. Java 递归 跳出死循环
  3. 中国有钱人抢购iPhone,推动苹果销量猛增重夺全球手机市场第二名
  4. paip 设置鼠标灵敏度API
  5. 一款让“微软爸爸杀不死”的数据库软件——生于1992的Access
  6. 系统学习javaweb-10-Hibernate的配置与api操作
  7. VR站在时代浪口的一阵大风,将颠覆整个未来行业的发展
  8. vue3去除字符串前后空格
  9. c语言中double的用法,c语言中double的用法
  10. csgo本地服务器修改武器伤害,CSGO武器伤害值计算告诉你是怎么死的