CentOS 线上搭建 jupyter_server 笔记
一、背景
为公司负责 Data Science 的同事配置线上 jupyter_server (jupyter + jupyter_kernel_gateway)环境。
二、环境
CentOS 7.6
三、安装
从最基础的 python 安装开始介绍。
1、python
采用编译安装,版本为 3.7.0,教程:
https://www.centos.bz/2018/01/在centos上安装python3的三种方法/
2、anaconda
下载地址:
https://www.anaconda.com/distribution/
教程:
https://linuxize.com/post/how-to-install-anaconda-on-centos-7/
坑:安装完 anaconda,发现
conda并没有自动配到环境变量中,去anaconda找,没找到,其实在这里:/mnt/ds/anaconda3/etc/profile.d/conda.sh
3、jupyter
Anaconda 中自带 jupyter,无需安装。(但记得配环境变量)
4、jupyter_kernel_gateway
pip3 install jupyter_kernel_gateway
坑:因为我的 ssh 账号不是 root,所以用 pip 时,不能安装到没有权限的系统目录(如/usr/local/lib/python3.7),所以需要加上
--user,这样会在我的主目录中创建 pip 安装包了。
四、配置与启动
1、jupyter
(1)创建配置文件
jupyter notebook --generate-config
配置文件会默认创建在 ~\.jupyter\jupyter_notebook_config.py
(2)修改配置文件
修改~\.jupyter\jupyter_notebook_config.py的这几个地方:
## 相当于启动命令时的当前目录
c.NotebookApp.notebook_dir = '/mnt/ds/ds_Independent_product/jurpyter_server'
## 相当于命令参数:--ip=0.0.0.0
c.NotebookApp.ip = '0.0.0.0'
## 相当于命令参数:--port=8890
c.NotebookApp.port = 8890
# 下面两种登录方式可以共存:
## 设置登录token(默认每次启动时token都会变,设置后就不会变了)
c.NotebookApp.token = 'd77e703b-c26f-4dbc-9e1c-5187a36619bb:bfb66fbfe0864f7b869ed3a50467c03c'
## 设置登录密码
c.NotebookApp.password = u'sha1:08017771105d:5cd7cd486867427fee56a50b3217338986e42813'
## 设置 jupyter public 资源可以被前端随意引用
c.NotebookApp.allow_origin = '*'
# 支持 <iframe> 引用
c.NotebookApp.tornado_settings = {
'headers': {
'Content-Security-Policy': "frame-ancestors * 'self' "
}
}
坑1:
c.NotebookApp.ip需要指定为0.0.0.0,否则外网访问不了(报错 Socket Error 99)
坑2:
c.NotebookApp.password的值需要加上前缀u,是指定字符串是 UTF-8 的意思,但是字符串也不是中文呀!具体原因未知。
(3)启动
jupyter notebook
2、jupyter_kernel_gateway
jupyter kernelgateway --KernelGatewayApp.api='kernel_gateway.notebook_http' --KernelGatewayApp.seed_uri='/mnt/ds/ds_Independent_product/jurpyter_server/main.ipynb' --port=8888
--KernelGatewayApp.seed_uri指定启动server的文件
默认端口为8888
坑:启动时报错,原因是没有装 jupyter 的一个插件
ipywidgets,安装方式如下:pip3 install ipywidgets
jupyter nbextension enable --py >widgetsnbextension
五、注意点
1、python 括号很重要
# 错
'R2_threshold' in b == True
# 对
( 'R2_threshold' in b ) == True
CentOS 线上搭建 jupyter_server 笔记的更多相关文章
- 在CentOS 6上搭建私有的Docker Registry
在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...
- CentOS Linux上搭建PPPoE服务器及拨号设置
CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...
- CentOS 7 上搭建LNMP环境
(转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...
- 分布式存储 FastDFS-5.0.5线上搭建
前言: 由于公司项目需要,最近开始学习一下分布式存储相关知识,确定使用FastDFS这个开源工具.学习之初,自己利用VMware虚拟机搭建了一个5台机器的集群,摸清了安装过程中可能出现的问 ...
- Linux(Centos)系统上搭建SVN以及常见错误解答
本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...
- centos 7上搭建HDP2.3集群
centos 7上安装 cat /etc/redhat-release
- CentOS Linux上安装Oracle11g笔记
CentOS Linux上安装Oracle11g 到 otn.oracle.com 网站上下载 Linux版的oracle 11g 编辑 /etc/sysctl.conf : kernel.shmal ...
- CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查
一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7centos6 ...
- CentOS 7上搭建Docker环境
一.Docker介绍和安装 http://linux.cn/article-4340-1.html Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机 ...
随机推荐
- JS前端将table导出到excel 兼容谷歌 IE 且保留表格样式
CDSN上博主给我一段代码,可将表格导出为EXCEL文档,原文见: https://blog.csdn.net/zz210891470/article/details/94717644 向博主学习.致 ...
- js基础-函数-var和let的区别
javaScript简介 javaScript历史 1995年,Netscape公司是凭借Navigator浏览器成为当时第一代互联网公司. 网景公司希望在HTML界面上加一点动态效果,于是叫Bren ...
- 网络ASI
ASIHTTPRequest 基于底层CFNetwork框架,运行效率很高 可惜作者 停止更新,有一些潜在的BUG无人去解决 老项目 ASI + SBJson 只需要用到外面的源文件 ASI还依赖于 ...
- Vue组件应用
Vue的组件是可复用的 Vue 实例,且带有一个名字 .我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用.因为组件是可复用的 Vue 实例,所以它们与 ne ...
- zz:NETCONF协议详解
随着SDN的大热,一个诞生了十年之久的协议焕发了第二春,它就是NETCONF协议.如果你在两年前去搜索NETCONF协议,基本得到的信息都是"这个协议是一个网管协议,主要目的是弥补SNMP协 ...
- Vue.js命名风格指南
前言 本命名风格指南推荐了一种统一的命名规范来编写 Vue.js 代码.这使得代码具有如下的特性: 统一团队的命名规范,其它开发者或是团队成员更容易上手阅读和理解. IDEs 更容易理解代码,从而提供 ...
- rbac结合ssm实现权限分配和管理
RBAC(Role-Based Access Control )基于角色的访问控制. RBAC 认为权限的过程可以抽象概括为: 判断[Who 是否可以对 What 进行 How 的访问操作(Opera ...
- 开通博客第一天,记录此时此刻,开始学习加强c#
从2017年6月毕业到现在,不断的学习.net,在工作中不断的加强技术,终于在此时此刻决定开通博客,记录此后每一天学习的技术点,两年来,每天所涉及的技术点很杂,学了这个忘了那个,总感觉在进步却总是觉得 ...
- Java并发编程系列-(1) 并发编程基础
1.并发编程基础 1.1 基本概念 CPU核心与线程数关系 Java中通过多线程的手段来实现并发,对于单处理器机器上来讲,宏观上的多线程并行执行是通过CPU的调度来实现的,微观上CPU在某个时刻只会运 ...
- 打开TXT文件并显示
<!DOCTYPE html> <html> <head> <title></title> <script> function ...