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

作者:Yang Blog 时间:2022-02-19 17:09:51 

工欲善其事,必先利其器,开发工具这个东西觉得折腾下还是有好处的。但常常感觉专门抽出时间搞这个浪费时间,更常见的现象是已经明显感觉到当前的开发工具用的很别扭,而且告诉自己等这个忙完了要搭一个更方便的工具,到最后却没下文了直到下次再次遇到这种感觉。我这会就是再次遇到了,想用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对文件的增删改查就相当于是操作了服务器上这个路径下的对应文件(也许说的比较啰嗦,但是觉得概念还是要清楚的)。实现这个目的只需要3步:

  • 在扩展(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隐隐约约有种很着急的感觉,不知道是思维还是文笔的锅,总之有时间就多写写,“感觉”也是可以慢慢积累的呢~。

来源:https://diego1109.github.io/2019/12/18/vscode-connect-jupyterNotebook-on-server/

标签:VScode,jupyter,notebook
0
投稿

猜你喜欢

  • Git远程操作详解

    2022-02-11 06:15:51
  • 基于bootstrap插件实现autocomplete自动完成表单

    2024-05-09 10:39:43
  • python实现下载指定网址所有图片的方法

    2021-05-17 22:12:16
  • pycharm开发一个简单界面和通用mvc模板(操作方法图解)

    2022-10-09 06:28:39
  • 通过屏蔽IP来防止采集

    2007-08-19 15:28:00
  • 获取Dom元素的X/Y坐标

    2009-10-10 12:49:00
  • CentOs7.x安装Mysql的详细教程

    2024-01-27 11:11:45
  • python邮件中附加文字、html、图片、附件实现方法

    2022-10-28 01:17:13
  • Python 日志管理模块Loguru的用法小结

    2023-02-22 15:45:16
  • Python pandas处理缺失值方法详解(dropna、drop、fillna)

    2023-04-03 03:45:36
  • python皮尔逊相关性数据分析分析及实例代码

    2021-03-12 13:23:34
  • python不使用for计算两组、多个矩形两两间的iou方式

    2021-08-19 19:08:33
  • CI框架中zip类应用示例

    2024-05-11 09:53:18
  • Python入门基础之import机制

    2023-12-25 11:39:12
  • Python NumPy中的随机数及ufuncs函数使用示例详解

    2021-09-22 15:29:08
  • Mysql事物锁等待超时Lock wait timeout exceeded;的解决

    2024-01-22 03:51:08
  • pandas 实现 in 和 not in 的用法及使用心得

    2021-10-23 12:25:07
  • SQL Server使用T-SQL进阶之公用表表达式(CTE)

    2024-01-17 22:42:32
  • Python求两个文本文件以行为单位的交集、并集与差集的方法

    2021-12-25 09:12:18
  • pytorch模型存储的2种实现方法

    2023-10-06 11:37:24
  • asp之家 网络编程 m.aspxhome.com