CentOS 线上搭建 jupyter_server 笔记
一、背景
为公司负责 Data Science 的同事配置线上 jupyter_server (jupyter + jupyter_kernel_gateway)环境。
二、环境
CentOS 7.6
三、安装
从最基础的 python 安装开始介绍。
1、python
采用编译安装,版本为 3.7.0,教程:
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
原文地址:https://www.cnblogs.com/xjnotxj/p/11876610.html
- linux学习第二十篇:zip压缩,tar打包以及打包压缩
- 数据结构之图
- 您需要来一份82年的代理吗?No.12
- Python 列表生成式(List Comprehensions)
- 微信小程序开发日记:重要的var that=this
- linux学习第二十六篇:正则介绍,grep,sed,awk命令
- Python 迭代(iteration)
- Python 切片(Slice)
- Python函数参数总结(位置参数、默认参数、可变参数、关键字参数和命名关键字参数)
- linux学习第二十七篇:使用w查看系统负载,vmstat,top,sar,nload命令
- Python 函数
- Python set(集合) 这一定是最全的介绍集合的博文
- Spark你一定学得会(二)No.8
- Python dict(字典)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法