西安北郊做网站的公司,郑州市金水区建设局网站,建设项目备案网站,个性定制网站有哪些20230304 -
0. 引言
这几年的编程方式还真是各种变化#xff0c;从一开始直接VIM#xff0c;到后面使用jupyter进行机器学习相关#xff0c;然后再过渡到vim的形式并加以tmux批量化#xff0c;最后去年使用了vscode作为IDE。随着工具的变化#xff0c;那么很多习惯也都随…20230304 -
0. 引言
这几年的编程方式还真是各种变化从一开始直接VIM到后面使用jupyter进行机器学习相关然后再过渡到vim的形式并加以tmux批量化最后去年使用了vscode作为IDE。随着工具的变化那么很多习惯也都随之变化。
在学校实验室平时都是直接在服务器上进行编程比较简单朴素直接sshvim来干。那时候也尝试过sublime加插件来管理远程文件但是他毕竟还是一个编辑器功能有限再加上后来的话平时使用的内容也相对来说并不是为了构造复杂的生产系统大多数时候都是一些简单的机器学习模块做实验所以其实没有什么痛处。后来再使用jupyter来进行实时的实验方便了很多但是有时候为了批量化实验大面积的参数实验还是需要回到服务器上进行实验。所以最后还是用vscode。
关于vscode的学习本篇文章不会进行说明这种文章太多了在这篇文章里简单记录自己平时的遇到的问题。
1. 遇到的问题
1.1 远程文件编辑
这部分其实也没什么好说的直接安装Remote Development这个扩展就好然后为了方便的话再把免密设置好就可以了。这样就能直接在访问远程服务器了。 1.2 远程服务器上的Docker容器
之前的时候因为我都是利用docker来部署开发环境比如带有GPU的深度学习环境所以那时候经常就是直接命令行进去为了使用这个vscode还专门搜索了相关内容看看是不是支持远程连接的形式比如文章[1]。在我把docker扩展在远程服务器上安装完之后发现并没有相关的内容 这部分我还专门去搜索了相关的内容但都无济于事。。。但是我发现远程资源管理器部分包含了所选的容器 那直接选择这个就可以了因为我容器早就起来了直接在这里选择就好了。就不用按照文章[1]中的形式了而且注意到为什么这里会出现是因为remote development这个扩展里面就包含了dev container。
那么在这个启动之后后续的使用过程就跟普通在本地使用vscode一样了。而且还可以再添加jupyter扩展。
1.3 jupyter常驻
安装jupyter扩展之后就可以更方便的对jupyter文件进行编程这样就不用再单独开一个浏览器去开发直接vscode编程就好了。但是这里有一个问题那就是我发现他每次跑一个程序我关闭了vscode之后他就没了。这跟我在浏览器中完全不一样的特性。后来发现这是因为jupyter扩展是自己开起了一个python kernel而为什么使用浏览器进行jupyter编程的时候他这个进程不会死亡呢是因为他有一个jupyter服务器保持这个kernel那为了实现跟浏览器一样的功能在右下角 点开这个remote然后指定一个jupyter server我这里直接使用了当时docker镜像启动时候使用的jupyter服务输入地址和密码选择远程的内核然后这样就能即使关了vscode后续也能继续运行。同时可以在http端运行的jupyter看到运行的内容中包含了这个 但是经过长时间的使用发现有时候并不是那么智能比如需要重复输入远程jupyter的密码有时候内核也得重新选择等等但是已经方便了很多了。
1.4 执行python文件的快捷键
使用IDE编程一般都可以直接快捷键直接运行例如常用的F5但是我发现好像没有直接的命令来运行python文件而F5在vscode是一个启动调试的过程。最后查看了文章[2]设置了一个自己用的命令来执行。
参考
[1]VS Code Development Using Docker Containers on Remote Host [2]vsCode keyboard shortcut to run Python in the terminal