如何像菜鸡作者一样零基础在Ubuntu中快速部署属于自己的Jupyter Notebook

本文内容基于互联网大量现成博客

  • 目标读者:像本人一样什么都不懂(折腾了一晚上),但想要体验在网页中写python。

    使用系统: Ubuntu 16.04.3 LTS
    需要:
  • 一台长期联网的电脑
  • 固定不变的内网IP
  • 尽量不会变的外网IP
  • 不怕被黑或者自身安全技术过硬(我是前者,死猪不怕开水烫)
好处:
  • 到处可以写python代码,手机,平板,任意可以连接外网的电脑,只需要浏览器支持

第一步 安装jupyter notebook
  • 网上教程很多,略过,注意下载较新的版本
第二步 配置
  • 首先确认已经按照安装说明配置.bashrc文件,即将anaconda添加到路径中,并用source .bashrc使其生效,测试方法就是直接在终端输入 jupyter notebook能否运行
  • 添加密码 输入jupyter notebook password

    设置密码,这将是在浏览器中登陆时的密码,但可以随时用这个命令修改(乱输入好了没问题的)

  • 输入jupyter notebook --generate-config生成配置文件,根据说明的位置 打开jupyter_notebook_config.py文件
  • 运行的配置文件,内部有很多选项,个人比较菜就直接跳过了,但有几个选项需要修改,才可以实现外网访问
  • c.NotebookApp.ip需要输入自己的内网IP 如果使用路由器的话,可以在路由器中把mac地址与内网ip绑定,同时可能要设置dmz主机
  • c.NotebookApp.notebook_dir这里输入设置的根目录(防止骚操作),与在特定目录下用命令启动效果一样
  • c.NotebookApp.port =这里可以设置端口,默认是8880,但是即使设置了,冲突时也会自动换成别的端口
  • 接下来尝试用jupyter notebook命令运行

    如果弹出Running as root is not recommended. Use --allow-root to bypass.的话就加上--allow-root或者换成普通账户。

  • 如果没有问题,那就成功了
  • 我遇到过一些问题,但不是很懂 和/etc/hosts有关,有人说加上127.0.0.1 localhosts就好了
第三步 设置开机启动
  • 不想每次重启都手动开启?
  • 打开/etc/rc.local (不同发行版和版本,可能会有区别)
  • exit 0上方写入jupyter-notebook&,也可以自己加上参数
  • 由于个人不懂linux,但在设置过程中遇到了一些问题,看起来与启动机制有关,加上jupyter-notebook的完整路径才可以运行。
附录
  • 建议顺便配置一个具有上传权限的ftp,以交换文件
  • 如果也是我一样的菜鸡萌新,慎重把东西丢在notebook中
  • 利用jupyter notebook提供的终端似乎可以替代ssh
  • .bashrc中利用alias可以修改python命令打开的版本(或者执行(手动滑稽)命令)

原文地址:https://www.cnblogs.com/bot-noob-121/p/9822558.html

时间: 2024-09-30 03:16:47

如何像菜鸡作者一样零基础在Ubuntu中快速部署属于自己的Jupyter Notebook的相关文章

准零基础搞懂FFT快速傅里叶变换及其实现程序(二)

上一篇文章我们了解了DFT的原理,FFT是基于DFT的更适合计算机运算的算法,本文我们就正式开始学习FFT的原理. 首先我么先来宏观的看一下FFT.如果我们把整个FFT的算法看成一个黑盒子的话,那么它的输入就是时间波形信号,比如声音波形(横轴为时间,纵轴为振幅).外什么FFT要比DFT速度更快呢?下面(图1)解释了FFT和DFT的(对于计算机的)算法复杂度 图1 从上面的数学表达式可以看出,一个1024采样点的FFT比DFT块了102.4倍.如果傅里叶变换的数量级更大,FFT的速度优势会更明显.

云技术基础:学习hadoop使用零基础linux(Ubuntu)

学习Linux存在很多的阻碍,版本,权限,命令. 版本不同,命令不同,命令又需要安装包,给新手带来很多的不便.这里总结了刚接触Ubuntu的一些使用经验.下面的命令等都可以直接使用. 你是否看到别人在Linux中desktop中使用命令,而自己却找不到地方. 一.下面给大家提供四种方式: 1.很好弄,在左上角的菜单上点一下,出来一列,在里面选择[附件] 中的[终端],点一下就OK. 那是快捷执行图标,可以把图标拖到桌面然后释放,以后在桌面上直接执行.同理,可以拖到上面的任务 栏里面.以后在上面的

零基础在Linux服务器上部署javaweb项目

本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 [plain] view plain copy #getconf LONG_BIT 64 2.下载64位版本的jdk 下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html 版本:jdk-8u91-Lin

菜鸡的swift学习(1):Mac中语言设定,no such module Cocoa的,可选类型的声明

Mac中语言的设定: no such module Cocoa:在试一下swift的教程学习的代码的时候 发现import Cocoa导入这个包的时候一直报错 因为我新建的是playground的工程,所以应该导入UIkit包这样就可以解决这个错误 Cocoa这个包是在IOS开发中使用的包 可选类型的声明时 var myString:String ?= nil 注意空格 原因是我没有注意到'?'和空格的位置 修正为 var myString:String? = nil String?中间是没有空

零基础学习java------38---------spring中关于通知类型的补充

一. 通知类型 spring aop通知(advice)分成五类: (1)前置通知[Before advice]:在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常. (2)正常返回通知[After returning advice]:在连接点正常执行完成后执行,如果连接点抛出异常,则不会执行. =====>也叫最终通知 案例: (1)(2)的案例 增强类: MyAdvice public class MyAdvice { public void enhance1() { Syst

零基础学习 Hadoop 如何下手

想学习hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会.其实零基础学习hadoop,没有想象的那么困难.曾经我也是一位小白,刚接触到云计算,想过培训,但是培训机构的选择也让我很纠结,就自己开始去摸索学习,现在我把自己的学习思路整理一下,希望对大家有帮助. 首先整体说一下学习过程给大家借鉴: 一.了解hadoop: 这里不具体阐述概念,有兴趣的同学可以自己上网去查.我们知道hadoop,有单机安装,伪分布安装和分布安装.同时hadoop的环境是Linux,所以我们

Cloudera Manager、CDH零基础入门、线路指导 http://www.aboutyun.com/thread-9219-1-1.html (出处: about云开发)

Cloudera Manager.CDH零基础入门.线路指导http://www.aboutyun.com/thread-9219-1-1.html(出处: about云开发) 问题导读:1.什么是cloudera CM .CDH?2.CDH.CM有哪些版本?3.CDH.CM有哪些安装方式?4.CDH如何开发? <ignore_js_op> 我们知道cloudera CDH 是为简化hadoop的安装,也对对hadoop做了一些封装.那么我们就像尝试学习cloudera.cloudera本质h

零基础如何迅速学好Java

对于零基础的朋友来说,能够迅速的学好Java,那将是一件特别有成就感,也特别有快感的事情,但是零基础如何迅速学好Java?这就是零基础朋友特别苦恼的问题,你在学Java的时候有什么秘招可以分享吗?今天长沙尚学堂小编将为大家带来迅速学好Java的秘招,希望对你有所帮助. 零基础如何迅速学好Java? 1. 对于零基础的朋友来说,选择一个人关门造车的学Java,那么Java学成之日在何时不知,Java学完能找到工作吗也不知,最关键的是这种学习方式一点都不迅速,很多时候都是在做无用功,特别浪费时间,并

菜鸡程序猿的开始:java基础知识之一个简单ATM机

import java.util.Scanner; public class Atm{ static int allmoney=150000; //ATM现有余额 static int all=200000; // ATM最大量 static int money =10000; // 初始化用户的余额 public static void main(String[] args) { System.out.print("*********************************"