自打接触Visual Studio Code这个编辑器,我几乎就没用过其它的东西写代码了,他太强了,然后最近发现他更强了。
公司给我发的破电脑只有8G内存,CPU也不咋地,简直离谱,明明我学弟实习发的电脑都有16G内存。8G内存对于我这种平时连着开很多网页,播放器,聊天软件等各种app,外加好几个vscode窗口里面开着好几个notebook和latex文档的人来说,根本不可能够用。
但是公司有个很强服务器,而且随便使用,就连3个登录节点都是14核48G内存,平时用这个登录节点跑绘图的代码都比自己电脑快很多也不会导致自己电脑卡顿,简直完美。但是这个服务器我是没有root权限的,服务器自带了几个版本的python可以自行选择使用,但是都没有修改的权限。想在上面实现跑jupyter notebook就需要自己做一些操作了。
Pyenv是最主要的工具,他可以自行下载编译任意版本的python,甚至包括miniconda,十分的好用。但是在编译python时可能遇到某些特定依赖库不存在或者版本不对的情况,这种时候就需要自行下载对应的库并编译安装到自己的目录下然后修改PATH实现更改。例如我遇见的时openssl版本不对应,因为我要安装的3.10版本的python需要1.1版本的openssl,服务器上的是1.0版本的。我找到的安装教程是这个。虽然这个教程只教了openssl的安装,但是其余库的方法应该是类似的,就是make install到自己的目录,然后修改PATH。
安装好之后使用pyenv global <version>
激活即可。另外如果python不想全局激活,可以使用pyenv提供的其它激活方案,有多种选择。
当然装的miniconda几乎什么库都没有,需要手动安装matplotlib之类的常用库,不过都是一行命令的事。
这一步之后就简单了,vscode的部署几乎可以用脚完成,安装这个插件包,点左下角配置一下连接到服务器之后就可以了。注意要正确选择python版本,在下图红圈的位置。
这些配置好之后,就可以做到像在本地编辑文件一样编辑远程的文件,所有代码也都是在远程运行本地查看结果,不会消耗本地资源进行运算。之后有闲工夫我补充一个内存占比的对比。
经过测试,开启同样的界面,使用服务器vscode进程占用资源为30%CPU,600M内存,所花时间是:32s。
使用本地vscode进程占用资源为60%CPU,1200M内存,所花时间是33s。