在服务器搭建Jupyter notebook
安装 Jupyter Notebook (这里虽然是对centos和Python2的,但是在Ubuntu16.04,Python3同样可以照着弄)
- Jupyter Notebook 简介Jupyter Notebook 是一个开源的 Web 应用程序,可以用来创建和共享包含动态代码、方程式、可视化及解释性文本的文档。其应用于包括:数据整理与转换,数值模拟,统计建模,机器学习等等。更多信息请见 官网 。
- 检查 Python 环境CentOS 7.2 中默认集成了 Python 2.7,可以通过下面命令检查 Python 版本:
python --version
- 安装 pippip 是一个 Python 包管理工具,我们使用 yum 命令来安装该工具:
yum -y install python-pip
使用下面命令升级 pip 到最新版本:pip install --upgrade pip
- 安装相关依赖安装 Jupyter 过程中还需要其他一些依赖,我们使用以下命令安装他们:
yum -y groupinstall "Development Tools"
yum -y install python-devel - 配置虚拟环境
安装 virtualenv
我们将为 Jupyter 创建一个独立的虚拟环境,与系统自带的 Python 隔离开来。为此,先安装 virtualenv 库:pip install virtualenv
创建虚拟环境
创建一个专门的虚拟环境,并直接激活进入该环境:virtualenv venv
source venv/bin/activate - 使用 pip 安装 Jupyter我们使用 pip 命令安装 Jupyter:
pip install jupyter
配置 Jupyter Notebook
- 建立项目目录我们先为 Jupyter 相关文件准备一个目录:
mkdir /data/jupyter
cd /data/jupyter再建立一个目录作为 Jupyter 运行的根目录:mkdir /data/jupyter/root
- 准备密码密文由于我们将以需要密码验证的模式启动 Jupyter,所以我们要预先生成所需的密码对应的密文。
生成密文
使用下面的命令,创建一个密文的密码:python -c "import IPython;print IPython.lib.passwd()"
执行后需要输入并确认密码,然后程序会返回一个'sha1:...'的密文,我们接下来将会用到它。 - 修改配置
生成配置文件
我们使用--generate-config来参数生成默认配置文件:jupyter notebook --generate-config --allow-root
生成的配置文件在/root/.jupyter/目录下,可以点此编辑配置。修改配置
然后在配置文件最下方加入以下配置:c.NotebookApp.ip = '*'
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.password = u'刚才生成的密文(sha:...)'
c.ContentsManager.root_dir = '/data/jupyter/root'其中:c.NotebookApp.password请将上一步中密文填入此项,包括 sha: 部分。
你也可以直接配置或使用Nginx将服务代理到 80 或 443 端口。
启动 Jupyter Notebook
- 直接启动
- 创建 Notebook
- 进入
【首页】首先需要输入前面步骤中设置的密码。 - 然后点击右侧的
【 new 】,选择 Python2 新建一个 notebook,这时跳转至编辑界面。 - 现在我们可以看到 /data/jupyter/root/ 目录中出现了一个
Untitled.ipynb文件,这就是我们刚刚新建的 Notebook 文件。我们建立的所有 Notebook 都将默认以该类型的文件格式保存。
- 进入
- 后台运行直接以
jupyter notebook命令启动 Jupyter 的方式在连接断开时将会中断,所以我们需要让 Jupyter 服务在后台常驻。先按下Ctrl + C并输入y停止 Jupyter 服务,然后执行以下命令:nohup jupyter notebook > /data/jupyter/jupyter.log 2>&1 &
该命令将使得 Jupyter 在后台运行,并将日志写在 /data/jupyter/jupyter.log 文件中。 - 准备后续步骤的 Notebook为了后面实验中实验室的步骤检查器能够更好的工作,此时我们使用以下命令预先创建几份 ipynb 文件:
cd /data/jupyter/root
cp Untitled.ipynb first.ipynb
cp Untitled.ipynb matplotlib.ipynb
cp Untitled.ipynb tensorflow.ipynb
rm -f Untitled.ipynb
在服务器搭建Jupyter notebook的更多相关文章
- 搭建Jupyter Notebook服务器
昨天发了Jupyter的使用,补一篇Jupyter服务器的搭建~ 一.搭建Jupyter 1.安装 使用virtualenv建虚拟环境.在虚拟环境中安装jupyter.matplotlib等等需要的库 ...
- 使用docker搭建jupyter notebook / jupyterlab
说明 由于官方镜像实在是不怎么好用,所以我自己做了一个优化过的jupyter notebook的镜像 notebook_hub,使用我这个镜像搭建容器非常简单,下面就基于这个notebook_hub来 ...
- Python - 搭建Jupyter notebook环境
1- Jupyter简介 HomePage:https://jupyter.org/ 安装指南:https://jupyter.org/install.html 官方文档:https://jupyte ...
- 配置本地访问远程Linux系统服务器的jupyter notebook
环境情况 远程服务器上配置了anaconda 本地主机没有安装anaconda(其实安不安装都无所谓,有浏览器就行) 配置步骤如下 登录远程服务器 生成配置文件 jupyter notebook -- ...
- 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...
- 使用阿里云服务器部署jupyter notebook远程访问
安装annaconda 与jupyter notebook annaconda在已经自带了jupyter notebook.jupyter lab.ipython 等一系列工具,不需要再单独安装这些工 ...
- 使用centos linux vps搭建jupyter notebook踩坑日记
今天我尝试用vps搭建在线jupyter notebook网站时遇到了这样一个问题: [W 21:48:07.243 NotebookApp] SSL Error on 9 ('171.115.101 ...
- vps上搭建jupyter notebook远程服务
安装anaconda 使用如下命令下载: wget https://repo.continuum.io/archive/Anaconda3-5.0.0.1-Linux-x86_64.sh 如果非roo ...
- 在树莓派上搭建jupyter notebook server
自从搬家后,树莓派闲置了好一段时间,最近打算将其利用起来.想来想去,搭个jupyter notebook用要靠谱的,毕竟经常要实验一些Python脚本. 具体过程参考以下链接: https://www ...
随机推荐
- 在Javascript中 声明时用"var"与不用"var"的区别,== 和 ===的区别
今天,被问到两个JS问题,当时没回答到重点,问题虽然看起来简单,但是细节却马虎不得,在此做下记录: 1. 在Javascript中 声明时用"var"与不用"var&qu ...
- Microsoft Visual Studio International Pack
Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支 ...
- 使用html2canvas将html标签转化为图片
有些时候我们无法用常规的截图工具截取网页内容,这时可以尝试以下方法: 1.首先允许跨域,Chrome浏览器可以在快捷方式->属性->目标栏里添加: --disable-web-securi ...
- [Processing] 弹球
PVector localPos = new PVector(0,0);//起始位置 PVector velocity;//速度方向 float speed = 20;//速度大小 void setu ...
- RabbitMQ入门:总结
随着上一篇博文的发布,RabbitMQ的基础内容我也学习完了,RabbitMQ入门系列的博客跟着收官了,以后有机会的话再写一些在实战中的应用分享,多谢大家一直以来的支持和认可. RabbitMQ入门系 ...
- 快速获取APP对应的appPackage和appActivity
appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的. 介绍两种方法可快速获取APP的这两个参数: 方法一 1 ...
- Cocos2dx源码赏析(4)之Action动作
Cocos2dx源码赏析(4)之Action动作 本篇,依然是通过阅读源码的方式来简单赏析下Cocos2dx中Action动画的执行过程.当然,这里也只是通过这种方式来总结下对Cocos2dx引擎的理 ...
- python 拾遗
三引号 可以当做多行字符串使用.在类或者方法中用的时候,可以当做docstrings来使用.具体的规则为: 该文档字符串所约定的是一串多行字符串,其中第一行以某一大写字母开始,以句号结束.第二行为空行 ...
- c++ 使用this指针进行串联的函数调用
如代码所示,在每个成员函数函数体最后返回*this.即可实现串联调用. class Time { public: Time(, , ); Time &setHour(int); Time &a ...
- PHP处理表单数据的一个安全回顾(记录教训)
曾经看过一个安全文章中写过这么一条 表单输入数据要做 htmlspecialchars_decode 表单输出数据要做htmlspecialchars 当时还不是很理解为什么,自己也没遇到问题,所以就 ...