前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jupyter notebook 远程连接调试实录

jupyter notebook 远程连接调试实录

作者头像
Python中文社区
发布2018-07-26 17:35:10
2K0
发布2018-07-26 17:35:10
举报
文章被收录于专栏:Python中文社区Python中文社区

最近使用了一下jupyter notebook搭配GPU服务器这套搭配,顿时打开了一个新天地,记录一下配置过程。

我一般把pythoner中搞机器学习数据分析的叫“科学家”,区别于搞web后端运维测试的“工程师”。而且我发现科学家们特别喜欢用jupyter notebook。起初,这让沉迷JetBrains大法的我不能理解,最近我算是明白了。

jupyter notebook是一种命令式的执行方式,以cell为执行单元,配合优美的前端界面,其执行完毕后可读性极强,对于科学家来说,往往都是简短的计算脚本,用不着单独开一个Pycharm工程,一个比文本编辑器和自带的命令行解释器稍强一点的运行环境就显得非常难得了。而且,写完一个脚本,跑完数据直接就可以给别人汇报了,省了大量写ppt或者markdown的时间有木有。 jupyter notebook对图片的显示方式极其适合调试。

代码语言:javascript
复制
import cv2
cv2.imshow("demo",demo)
cv2.waitKey()

在写openCV时将上面的方式替换为下面的方式后会发现调试起来极其舒服。

代码语言:javascript
复制
import matplotlib.pyplot as plt
%matplotlib inline
plt.imshow(demo)

上面两点是本地运行的优势,这些优势在其他IDE和编辑器中到也没有很明显的舒适度提升,但在服务器远程调试方面,jupyter正好就卡入了一个难觅对手的领域上。对于很多科学家而言,vim和emacs明显是不讨喜的,而在Pycharm中,每起一个工程就配一次SFTP还是有点小耽误时间,而jupyter就正好提供了这种轻量级又有效的方案。

下面是具体的配置过程,包括远程连接的配置与远程虚拟环境的设置。

1、服务器上创建jupyter并远程连接

[1] 安装jupyter

代码语言:javascript
复制
pip install jupyter
or

conda install jupyter#需要装conda

[2] 生成配置文件

代码语言:javascript
复制
jupyter notebook --generate-config

[3] 生成密钥,打开python解释器

代码语言:javascript
复制
python
from notebook.auth import passwd  
passwd()  
#输入两次密码
#生成key,这个需要复制留存并修改到配置文件中去。

[4] 修改配置文件

代码语言:javascript
复制
vim ~/.jupyter/jupyter_notebook_config.py

配置文件中需要改动这么几行,改好后去掉注释,:wq保存。

代码语言:javascript
复制
c.NotebookApp.ip='*'                       # 就是设置所有ip地址皆可访问  
c.NotebookApp.password = u'sha:ce...       # 复制的那个密文key 替换等号后面的内容
c.NotebookApp.open_browser = False         # 禁止自动打开浏览器  
c.NotebookApp.port =8888                   # 指定一个可用端口

[5] 本地地址栏输入<服务器ip>:8888,输入用户名和密码即可访问。

2、安装ipykernel使得jupyter能访问远程的虚拟环境

[1] 启动虚拟环境

代码语言:javascript
复制
source activate <your virtualenv>

[2] 在虚拟环境安装jupyter

代码语言:javascript
复制
pip install jupyter

[3] 在虚拟环境安装ipykernel

代码语言:javascript
复制
pip install ipykernel

[4] 配置ipykernel

代码语言:javascript
复制
python -m ipykernel install --user --name testenv --display-name "Python2 (py2env)"

其中,--name的参数和--display-name的参数根据配置更改。

上面就是配置服务端jupyter的以及激活虚拟环境的全过程,总结一下就是:

安装jupyter,生成key,修改配置文件,按照ip:端口号登陆。 在激活的虚拟环境中安装ipykernel并配置。

作者丁果,对django、pyqt、opencv、tornado感兴趣。 GitHub:https://github.com/lidingke

最近热门文章

如何用Python做一个骚气的程序员

用Python爬取陈奕迅新歌《我们》10万条评论的新发现

机器学习算法KNN简介及实现

Python有趣的解包用法

用Python分析苹果公司股价数据

Nginx+uwsgi部署Django应用

Python自然语言处理分析倚天屠龙记

Python 3.6实现单博主微博文本、图片及热评爬取

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档