VScode连接远程服务器上的jupyter notebook的实现


Posted in Python onApril 23, 2020

工欲善其事,必先利其器,开发工具这个东西觉得折腾下还是有好处的。但常常感觉专门抽出时间搞这个浪费时间,更常见的现象是已经明显感觉到当前的开发工具用的很别扭,而且告诉自己等这个忙完了要搭一个更方便的工具,到最后却没下文了直到下次再次遇到这种感觉。我这会就是再次遇到了,想用VSCode连接服务器上的jupyter notebook运行tensorflow代码,这样在本地的VScode中直接写代码就方便了很多。整个过程很简单,我自诩记性也不错,但还是不如这白纸黑字来的保险,查资料也是很花时间的。

首先是本机与服务器之间配置ssh就不仔细描述了,要是忘了google一下“ssh远程登录服务器”大把都是资料而且大多数说的都是对的。但最好在~/.ssh/config中按照下面的样子再配置下,ssh用起来会更方便的。

Host remote_server
 HostName 119.254.92.61
 User xuser
 IdentityFile ~/.ssh/id_rsa

接下来是vscode这边要能远程连接到服务器上,记住不是在本地写代码然后再发送到服务器上,而是直接连接到了服务器的某个路径下,VScode对文件的增删改查就相当于是操作了服务器上这个路径下的对应文件(也许说的比较??拢??蔷醯酶拍罨故且?宄?模?J迪终飧瞿康闹恍枰?步:

  • 在扩展(EXTENSIONS)中搜插件Remote - SSH安装后再重新启动VScode。
  • 鼠标点击VScode左下角的齿轮选择命令模式(command paletten),mac对应的快捷键是shift+cmd+p。
  • 在VScode顶部中间弹出的下拉菜单中输入Remote - SSH点击图片中选中的选项,接下来再点击你要连接的服务器的名字就行了,最后会弹出一个新的VSCode。
  • vscode现在就可以远程连接服务器了,如果想写python代码,直接创建文件就可以了。

VScode连接远程服务器上的jupyter notebook的实现

VScode连接远程服务器上的jupyter notebook的实现

而服务器这边要能够创建jupyter noteboot,也就是些安装了,不难就是找起来有点麻烦。我喜欢用conda安装一个虚拟环境就是因为隔离了干净省心,真要是搞坏了直接删了重新建一个。服务器上的操作也只需要3步:

安装虚拟环境:

conda create --name notebook python=3.6

激活虚拟环境并安装jupyter notebook:

source activate notebook
conda install -c conda-forge jupyter notebook

创建一个notebook服务:

sudo jupyter notebook --port=8889 --allow-root

结果如下:最下面的两个URL就是刚才启动的服务的地址,我复制http://localhost:8889/?token=aef9a514fa484b83aa4554371024ebc5b50bbed25c2521ab,当然复制另一个也没问题。

VScode连接远程服务器上的jupyter notebook的实现

最后在已经连接到服务器的VScode中进入命令模式,点击下图下拉菜单中被选中的选项(好绕口,理解就好)。意思也很明显:指定一个本地或者远程的jupyter服务连接。

VScode连接远程服务器上的jupyter notebook的实现

把刚才复制的URL粘贴进去,按回车。

VScode连接远程服务器上的jupyter notebook的实现

创建一个jupyter文件测试下:

VScode连接远程服务器上的jupyter notebook的实现

整个过程就这么简单而且内容也不多,但就是写了快两个小时吧,正好有今晚有时间就整理一下,以后就不需要google再去各种找了。后面几张大图看起来好丑,感觉以后要学一些有关排版设计的内容了,忽然想起自己曾今自学了一段时间PS,好久没用这会好像也忘差不多了。回头自己读刚才写的blog隐隐约约有种很着急的感觉,不知道是思维还是文笔的锅,总之有时间就多写写,“感觉”也是可以慢慢积累的呢~。

到此这篇关于VScode连接远程服务器上的jupyter notebook的实现的文章就介绍到这了,更多相关VScode连接远程服务器jupyter notebook内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python中标准库OS的常用方法总结大全
Jul 19 Python
Django的分页器实例(paginator)
Dec 01 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
Django使用HttpResponse返回图片并显示的方法
May 22 Python
django js实现部分页面刷新的示例代码
May 28 Python
Python零基础入门学习之输入与输出
Apr 03 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
Python3 翻转二叉树的实现
Sep 30 Python
python 统计文件中的字符串数目示例
Dec 24 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 Python
Python实现仿射密码的思路详解
Apr 23 #Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 #Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 #Python
使用matplotlib动态刷新指定曲线实例
Apr 23 #Python
Flask模板引擎Jinja2使用实例
Apr 23 #Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 #Python
在matplotlib中改变figure的布局和大小实例
Apr 23 #Python
You might like
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
python文件写入实例分析
2015/04/08 Python
Python写入数据到MP3文件中的方法
2015/07/10 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
后勤主管岗位职责
2014/03/01 职场文书
食品业务员岗位职责
2014/03/18 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书