用windows浏览器打开Linux的Jupyter notebook开发、调试示例
1.场景,在windows浏览器中打开Linux环境下的jupyter notebook。Jupyter notebook开启远程服务,Spark、python计算环境在Linux服务器中,而工作环境是windows。在windows下使用jupyter notebook环境进行开发、调试。涉及的配置文件Github源码
场景如下
通过windows登录Linux服务器的Jupyter notebook(开发环境都在Linux中),windows中只需有个浏览器即可。
然后在windows下开发、调试
开始达到上述需求。
2.安装python和jupyter notebook(spark部署略可参考我其他博文,无spark也没关系)
xiaolei@ubuntu:~$ sudo apt install python
xiaolei@ubuntu:~$ sudo pip install jupyter
3.配置Linux服务器上的jupyter notebook(重要配置文件Github源码)
3.1.生成jupyter notebook配置文件jupyter官方配置
#主要.jupyter 是隐藏文件,可以用ls -a 查看
#以下命令生成文件在 /home/xiaolei/.jupyter/jupyter_notebook_config.py
xiaolei@ubuntu:~$ jupyter notebook --generate-config
3.2.为jupyter notebook生成密码
xiaolei@ubuntu:~$ python
from notebook.auth import passwd
: from notebook.auth import passwd
: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:bcd259ccf...<你自己生成的hash密码>'
3.3.生成mycert.pem和mykey.key(SSL和HTTPS加密)
#以下命令生成文件在 /home/xiaolei/.jupyter/jupyter_notebook_config.py
xiaolei@ubuntu:~$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
3.4.通过certfile安全的模式开启jupyter notebook。
xiaolei@ubuntu:~$ jupyter notebook --certfile=/home/xiaolei/.jupyter/mycert.pem --keyfile /home/xiaolei/.jupyter/mykey.key
3.5.配置/home/xiaolei/.jupyter/jupyter_notebook_config.py
a.增加以下内容或者找到原内容去掉#修改
xiaolei@ubuntu:~$ vim /home/xiaolei/.jupyter/jupyter_notebook_config.py
b.修改或增加内容如下里面的/home/xiaolei根据自己文件定
# Set options for certfile, ip, password, and toggle off
# browser auto-opening
c.NotebookApp.certfile = u'/home/xiaolei/.jupyter/mycert.pem'
c.NotebookApp.keyfile = u'/home/xiaolei/.jupyter/mykey.key'
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:bcd259ccf...<你自己生成的hash密码>'
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999
4.在windows的chrome中登录并开发、调试程序
4.1.打开 jupyter notebook
a.在Linux服务器中以不打开本地浏览器中
xiaolei@ubuntu:~$ jupyter notebook --no-browser
b.在windows中的chrome浏览器(若IE,我试着不行)打开https://192.168.193.131:9999
此时输入你设置的密码如123456
c.写个简单的测试 1+1 (Shift+Enter执行)
如果没有安装Spark,那么到这里就完成配置了,已经可以在windows中开发Linux环境下的程序了!
4.2.打开 spark的 jupyter notebook
a.在Linux服务器中以不打开本地浏览器中(需正确部署了spark)
xiaolei@ubuntu:~$ PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS='notebook' /opt/spark-2.0.2-bin-hadoop2.7/bin/pyspark
b.在windows下chrome浏览器登入配置文件Github源码(IE不可使)https://192.168.193.131:9999
用windows浏览器打开Linux的Jupyter notebook开发、调试示例的更多相关文章
- windows远程访问ubuntu下的jupyter notebook必要配置
0.生成配置文件(一般采用默认) jupyter notebook --generate-config 1.打开ipython, 创建一个密文密码 In [1]: from notebook.auth ...
- linux中jupyter notebook中切换虚拟环境
python -m ipykernel install --user --name 虚拟环境名称 --display-name "虚拟环境名称" 然后再打开jupyter note ...
- linux install jupyter notebook
install sudo pip install jupyter notebook start sudo jupyter notebook 一般,文件目录默认在你启动的位置.你可以在notebook里 ...
- 改 Anaconda Jupyter Notebook 开发文件保存目录
1.打开cmd,输入命令找到配置文件路径 jupyter notebook --generate-config 2.打开 jupyter_notebook_config.py 修改配置 c.Noteb ...
- 【转】使用vnc连接linux服务器方便hadoop开发调试
VNC(Virtual Network Computing)它能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上. 类似的软件在Windows服务器中包含的"Terminal Serve ...
- Linux下搭建FFmpeg开发调试环境
背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可.但是如果你想调试FFmpeg内部相关的逻辑,或者 ...
- Linux 常用命令:开发调试篇
前言 Linux常用命令中有一些命令可以在开发或调试过程中起到很好的帮助作用,有些可以帮助了解或优化我们的程序,有些可以帮我们定位疑难问题.本文将简单介绍一下这些命令. 示例程序 我们用一个小程序,来 ...
- 关于Anaconda安装以后使用Jupyter Notebook无法直接打开浏览器的解决方法
关于Anaconda安装以后使用Jupyter Notebook无法直接打开浏览器的解决方法 1.首先打开Anoconda Prompt,输入命令 jupyter notebook --generat ...
- Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
不多说,直接上干货! 前期博客 Windows下的Python 3.6.1的下载与安装(适合32bits和64bits)(图文详解) 这是我自定义的Python 的安装目录 (D:\SoftWare\ ...
随机推荐
- 改变IIS的Framework版本
Changing the Framework version requires a restart of the W3SVC service. Alternatively, you can chang ...
- 使用libcurl的正确姿势
libcurl支持访问http.ftp等各种服务器,下载图片AV什么的不在话下.但其存在多种接口,异步接口也很难以理解,到底什么样的使用姿势才是正确滴?我们来看看可用的体位: easy interfa ...
- Javac中的nullcheck
Javac会通过调用引用对象的getClass()来判空,主要有几处: (1)JCMethodInvocation()方法中,如下实例: class A{ class B{} } public cla ...
- 通俗易懂详解Java代理及代码实战
一.概述 代理模式是Java常用的设计模式之一,实现代理模式要求代理类和委托类(被代理的类)具有相同的方法(提供相同的服务),代理类对象自身并不实现真正的核心逻辑,而是通过调用委托类对象的相关方法来处 ...
- 导出txt文件
<?php Header( "Content-type: application/octet-stream "); Header( "Accept-Ranges: ...
- gridvew使用技巧2
GridVew1_RowDataBindGridView1.DataKeys[e.Row.RowIndex].Values[].ToString(); foreach (GridViewRow t i ...
- 详解C#特性和反射(三)
类型信息(Type Information)用来表示类型声明的信息,通过抽象基类System.Type的实例存储这些信息,当使用反射时,CLR获取指定类型的Type对象,通过这个对象即可访问该类型的任 ...
- 软件架构设计学习总结(4):大数据架构hadoop
摘要:Admaster数据挖掘总监 随着互联网.移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海 ...
- Spring @Conditional简单使用 以及 使用时注意事项一点
@Conditional注解在类的方法中 @Conditional注解失效的一种原因 @Conditional注解在类上 手写的低配版@ConditionalOnClass Spring @Cond ...
- 【LeetCode题解】3_无重复字符的最长子串(Longest-Substring-Without-Repeating-Characters)
目录 描述 解法一:暴力枚举法(Time Limit Exceeded) 思路 Java 实现 Python 实现 复杂度分析 解法二:滑动窗口(双指针) 思路 Java 实现 Python 实现 复 ...