VScode远程连接服务器,Pycharm专业版下载及远程连接(深度学习远程篇)

Visual Code、PyCharm专业版,本地和远程交互。

远程连接需要用到SSH协议的技术,常用的代码编辑器vscode 和 pycharm都有此类功能。社区版的pycharm是免费的,但是社区版不支持ssh连接服务器,只有专业版才可以,需要破解或者学生身份申请专业版,下面记录一下自己所学,方便重新配置环境。

VsCode远程连接:

在基于前面环境配置好的前提下,直接官网下载最新的vs code,不需要配置环境变量。
1、然后你需要下几个插件:
打开vscode,找到最左边的在这里插入图片描述

下一步是,分别搜索如下插件,并点击install,插件如下:
python(写python必备),
jupyter(在vs code中显示jupyter notebook而无需在网页启动,很高级),
remote development(远程连接,会附带一系列其他的远程插件),
Anaconda Extension Pack(我也不知道,但是你用anaconda的python肯定要的),
vs code -icons(文件图标会显示相应的文件类型,方便操作),另外写网页的话可以还要下Live Server,Open in defalut Brower,HTML CSS Support,auto rename tag,然后还有个插件 resource monitor,可以在vs code左下角看到cpu 和内存占用情况:
在这里插入图片描述
这里说一下jupyter插件:
只需要下jupyter插件就可以,然后你创建.ipynb文件就是jupyter编辑器了,在编辑这一方面,显然是比在浏览器中用jupyter更友好。

选择运行代码的虚拟环境:

按F1
在这里插入图片描述

在上面的搜索框搜索python解释器,选择你的虚拟环境下的python.exe。再在Vs code中间最上面输入python selected找到带你的虚拟环境名的python.exe解释器,确认运行环境,然后你就可以在本地打开某个文件夹创建py文件写python代码运行了,如果不进行远程连接,这里vscode配置就结束了。

vsocde远程连接配置

上面安装的vscode插件中,下了个remote development插件就会附带自动下一堆的插件。可以在自己的插件中,看看有没有如下的这些,没有就自己手动点击下一下:
在这里插入图片描述,下好了之后左边会多一个远程图标:在这里插入图片描述然后你点击一下、就到了下面这里,看到下面这个ssh的右边设置,点击它
在这里插入图片描述
然后让你输入,ssh 进行连接命令,其中ip也可以域名:

ssh username@ip

在这里插入图片描述
(这个输入提示中的-A ,是代理本地拥有的私钥的意思。你如果把公钥放到ssh服务器的authorized_keys文件中,那么任何本机只要拥有你的私钥,然后再加上知道你放的服务器的用户名和地址,就能直接连接那台ssh服务器。
这里代理之后,让连接的服务器拥有更大权限,它不仅被我连,还能拥有连接 我本地机在其他放了公钥的机器 的连接权力(可以获取的本地的所有私钥)。如果连接的服务器被攻击,这对其他服务器还是有隐患的,毕竟代理之后,我远程的服务器访问其他服务器也不需要密码了)

点击,配置用户名信息
在这里插入图片描述
写入机器的信息:(这里需要说明,不加 IdentityFile 这一行是可以的,就可以直接用了。连接的时候会要求你输入登录密码,输入即可远程访问服务器文件了。
但是缺点是很频繁的输入密码,有时候经常断开很麻烦,于是需要将本地机器的ssh的公钥(也即id_rsa.pub中的那行内容。windows一般路径是在C:\Users\用户名.ssh\id_rsa.pub)加入到服务器的~/.ssh/authorized_keys文件中,如果服务器主目录下没有.ssh文件的话,你自己在主目录下mkdir .ssh创建一个.ssh文件夹,chmod 700 .ssh给他赋予权限,再vi .ssh/authorized_keys创建并编辑文件,将id_rsa.pub中的那行内容添加进去,保存退出即可。
然后也会有两个问题,有可能服务器是刚装的机器,没有ssh服务,下载ssh命令sudo apt-get install openssh-server,开启ssh服务 sudo /etc/init.d/ssh start;另外一个问题是本地的windows没有ssh,解决方法是去git的官网下载windows的git,里面有支持ssh的底层服务,下载最后你只需要在cmd中或者git的shell中执行命令:ssh-keygen -t rsa -b 4096 -C “your_email@example.com”,就能在C盘的ssh目录下,生成一对密钥了,找到其中的pub公钥添加到服务器的authorized_keys文件中即可。
更过的密钥生成的信息可以看这篇文章:各平台密钥生成
在这里插入图片描述
按ctrl + s保存即可。
然后左边远程连接,就会加载你的服务器信息了,或者关掉vscode重开,再点开remote图标就能显示你的机器了在这里插入图片描述
点击当前页面连接,或者开启新的窗口连接都可以。
然后把欢迎页面关掉,左上角File->openfolder
在这里插入图片描述
就能打开你在服务器中git clone 下来的代码了
在这里插入图片描述
右下角可以选择python运行环境
在这里插入图片描述
在这里插入图片描述
或者按F1也会跳出来一些操作选项,你可以点击选择解释器
在这里插入图片描述
如果你发现右下角没有选择,或者按F1也没有Select Interpret选项,就去看看插件,有没有下载python插件,插件的下载和使用是本地和远程分开的,下载并开启插件在远程服务中的使用即可。在这里插入图片描述
这就可以写代码,改代码,跑代码了,然后有时候输出控制台会消失,其实没消失,只是隐藏在最下面,将它拉上来就可以了。

另外,再记录一下debug,我好像不太喜欢debug,一直都是习惯手动print()

这是远程调试的一篇论文,供参考。
接下来说一下Vscode中的debug几个按钮,记录一下:
开启debug
在这里插入图片描述
注意的是上面的那几个调试按键
在这里插入图片描述
然后注意这几个:
在这里插入图片描述

第一个播放一样的continue是到下一个断点,
第二个旋转一样的step over是一行一行的走,包括第一层函数,但是函数之内的函数他就不会走了,除非你用第三个step in,提前在第一层函数运行前点他,然后在第一层函数里面一直点3,step in就会进到嵌套函数里面,真正的做到顺序运行,
然后第四个step over就是跳过一个函数,比如a函数里面有执行b ,c函数,他就跳过b,到c,然后再从c到a外面那个主函数,每点一下就是执行一个函数的量。

PyCharm远程连接开发:

PyCharm远程连接开发:

下面来说说在拥有GPU的情况下,怎么在本地连接服务器:介于pycharm 社区版本不提供ssh连接。
1、科学软件
https://mp.weixin.qq.com/s/V97XrfH0_vj4VIfcSb9S7Q,目前有效。
2、支持正版,还有一个办法是在jetbrains官网去要一个学生教育包,高校学生老师可以,但是要审核,学生一年申请一次,申请成功jetbrains的所有软件即可使用过。需要学生证照片。方法是直接进入这里:
jetbrains账号申请
在这里插入图片描述
在这里插入图片描述
但是需要注意!你得先在这个网站注册jetbrains账号,但是不要用自己的学生邮箱,你在申请的时候再填自己的学生邮箱去认证审核,表单选择官方文件,审核大概一周左右。
在这里插入图片描述
然后上面的电子邮箱填自己的学生电子邮箱,带edu.cn的那种,证件我上传的是饭卡的照片。
然后大概一个星期,就可以在学生邮箱收到:
Hi XX,
Congratulations! Your JetBrains Educational Pack has been confirmed.
Please link your free license to a new or an existing JetBrains Account. You will need to use this account whenever you want to access JetBrains tools.
Get started by learning basic shortcuts and essential features from right inside IntelliJ IDEA and other JetBrains IDEs with the IDE Features Trainer plugin.
In addition to your Educational Pack, we provide all new users with an extended 3-month free trial at JetBrains Academy, our hands-on platform for learning to program. Find out more details and start your extended trial.
If you have any questions, please email us and we will be glad to help.
Kind Regards,
The JetBrains team
www.jetbrains.com
The Drive to Develop
然后应该是用邮箱即可使用所有jetbrains的产品。

————————————————————————————————
pycharm专业版 下好之后,先不谈远程。讲在本地创建项目运行。
要在pycharm中导入先新建项目,才可以在pycharm中方便的编码
在这里插入图片描述
在这里插入图片描述
选择编译环境为conda中的那个你创建好的
在这里插入图片描述
如果没有的话,你就需要去anaconda目录中找到evns目录下的那个环境中的python路径,选中它,如下图
在这里插入图片描述
也可以在pycharm的控制台写代码(可能比较方便观察每一步的变量值变化):
在这里插入图片描述
对于已经打开的项目,可以在file–setting–python interpreter里面找到并更换python解释器。
然后远程连接方法是tool - deploment-configuration-±sptf-填写服务器信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面写了123步骤的图,这会在pycahrm的任何项目使用中,都默认保存了一个ssh连接选项供你选择。
这上面的另外两张图就是创建一个远程文件管理项目,然后将这个ssh连接包含进去了,因为同步毕竟是基于两台主机的ssh,然后设置这个远程管理项目需要映射文件夹,这里面的映射是为了方便文件下载与上传的同步的。我个人觉得尽量本地这边的文件夹为空的,或者远程的文件夹为空比较好,就是映射的文件夹中一边空一边不空。然后绑定映射后从那边的文件夹download下来或者upload上去,然后提示会覆盖,选择yes就可以了,这样会避免歧义,而且选择yse覆盖的话,就是远程有你这边没有的文件都会备份过来。

然后刚开始,这里面只是说你可以本地或者远程改变同步代码,但是你的运行环境,还是本地的。这样做的话也就是相当于在服务器上备份了文件一样,好像意义不大。

为了使用远程的GPU资源,也就需要让远程服务器上的anaconda创建的虚拟环境中的python.exe来运行我们的代码,因为本地是无法直接调用远程主机的GPU,cpu资源的,目前还没出现那么高级的本地操作远程功能。其原理就是说本地项目这边运行前选择interpreter的时候,不用本地的虚拟环境的python.exe,而是用远程的某个虚拟环境中的python解释器,然后远程运行完之后将运行的结果远距离传输回来。

这里有一个地方很模糊,就是创建ssh远程解释器的时候,需要制定映射目录,为了避免麻烦和歧义,尽量让两边映射文件夹其跟上面设置的一样。也即这两个地方一样。
在这里插入图片描述
在这里插入图片描述
如果你没有设置远程同步文件夹,远程主机会将我的代码文件直接复制到远程某个文件夹,跟这个文件夹同步,大概是在/tmp/Pycharm…406…之类的命名,然后运行完会返回来结果。而这个/tmp/Pycharm…406是随机生成的名字。就是在你选择远程python解释器运行的的时候,他自己会服务器上创建这个文件夹。
另外,来回切换本地或者远程解释器都没问题,但是要记得自己之前创建的远程服务器名称,因为这个远程服务器绑定了哪两个文件夹,切回来的时候用错别的远程解释器,他就随机在/tmp/文件夹下生成一个目录给你同步了,这样会乱。

在这里插入图片描述
这其实就是一个git同步系统,只不过目前我还不了解版本控制。
这里有个自动上传设置,勾选之后。不管是创建文件同步,还是修改文件,你在本地改变的东西,都会自动推送到远程。远方同名的文件都会被更改。
在这里插入图片描述
远程连接同步与git类似。但是远程文件变更,你需要download下来,空文件夹不会被download下来,你download的时候记得慎重选yes,得看清楚文件夹是不是你要改变的。
而远程多余的文件夹会无条件download下来。

远程连接就记录到这里,感觉挺好用的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/577783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】MCANet: Medical Image Segmentation with Multi-Scale Cross-Axis Attention

文章目录 摘要创新点总结实现效果总结 摘要 链接:https://arxiv.org/abs/2312.08866 医学图像分割是医学图像处理和计算机视觉领域的关键挑战之一。由于病变区域或器官的大小和形状各异,有效地捕捉多尺度信息和建立像素间的长距离依赖性至关重要。本文提…

人工智能_机器学习073_SVM支持向量机_人脸识别模型建模_预测可视化_网格搜索交叉验证最优化参数对比---人工智能工作笔记0113

接着上一节来说,可以看到我们已经找到了合适的参数,然后 我们可以看一下这里 gc.best_params_ 就可以打印出最合适的参数 然后我们把最合适串按说填入到代码中,然后进行计算,看看得分 可以看到得分,训练数据是1.0 然后测试数据得分是0.7857...对吧

2024深入评测CleanMyMac X4.14.6破解版新的功能

随着时间的推移,我们的Mac电脑往往会变得越来越慢,存储空间变得越来越紧张,这时候一个优秀的清理工具就显得尤为重要。作为一款备受好评的Mac清理工具,它能够为你的Mac带来全方位的清理和优化。在本文中,我们将深入评测…

【HarmonyOS开发】OpenHarmony如何实现⼀次开发,多端部署

OpenHarmony提供用户程序框架、Ability框架以及UI框架,能够保证开发的应用在多终端运行时保证一致性。一次开发、多端部署。 多终端软件平台API具备一致性,确保用户程序的运行兼容性。 HarmonyOS提供了用户程序框架、Ability框架以及UI框架,…

WebRTC概念

定义 一个实时通信标准 通话原理 媒体协商 在WebRTC中,参与视频通讯的双方必须先交换SDP信息,获得一个都支持的编码格式 网络协商 目的:找到一条相互通讯的链路 做法:获取外网IP地址映射,通过信令服务器交换“网…

华锐三维云展平台 | VR在线展览云平台提供定制化虚拟展厅制作工具

随着科技的飞速发展,互联网技术的不断革新,广州华锐互动顺应时代需求,开发了VR在线展览云平台,用户可以在平台上自主创建属于自己的3D展厅。VR在线展览云平台正改变着传统展览行业的模式,为参展者提供更高效、更便捷、…

Hazel macOS自动化清理

Hazel是一款在Mac平台上的自动化文件管理工具,它可以帮助用户自动化处理文件,从而提高工作效率和减少重复性任务的时间和精力。以下是Hazel软件的功能特色: 强大的自动化处理功能:Hazel可以根据用户设定的规则,自动执…

Android---Kotlin 学习009

继承 在 java 里如果一个类没有被 final 关键字修饰,那么它都是可以被继承的。而在 kotlin 中,类默认都是封闭的,要让某个类开放继承,必须使用 open 关键字修饰它,否则会编译报错。此外在子类中,如果要复写…

Redis设计与实现之服务器与客户端

目录 一、服务器与客户端 1、初始化服务器 1. 初始化服务器全局状态 2. 载入配置文件 3. 创建 daemon 进程 4. 初始化服务器功能模块 5. 载入数据 6. 开始事件循环 2、 客户端连接到服务器 3、命令的请求、处理和结果返回 4、命令请求实例:SET 的执行过程 5、Redis服…

数据仓库【1】:简介

数据仓库【1】:简介 1、诞生背景1.1、数据仓库诞生原因1.2、历史数据积存1.3、企业数据分析需要 2、基本概述2.1、数据仓库(Data Warehouse,DW)2.2、数据仓库特点2.3、数据仓库 VS 数据库 3、技术实现3.1、数据仓库建设方案3.2、传…

sql_lab之sqli中的搜索型注入

搜索型注入 原理是运用模糊查询: select * from users where username like %a% 1.找到具有模糊查询的搜索框的注入点 2.构造闭合 因为模糊查询的代码是 select * from users where username like %a% 所以应该 鱼%’ -- s 判断构造闭合的函数是否正确 鱼%…

【JavaEE初阶一】线程的概念与简单创建

1. 认识线程(Thread) 1.1 关于线程 1.1.1 线程是什么 由前一节的内容可知,进程在进行频繁的创建和销毁的时候,开销比较大(主要体现在资源的申请和释放上),线程就是为了解决上述产生的问题而提…

apache禁止遍历目录

禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思。下面说下禁止禁止Apache显示目录索引的常见的3种方法。 要实现禁止Apache显示目录索引,只需将 Optio…

Jenkins的特殊操作定时自动执行任务以及测试报告调优

java -Dhudson.model.DirectoryBrowserSupport.CSP -jar Jenkins.war 测试报告 不美丽 执行上面的代码 重启jenkins 就好了

Ai企业系统源码 Ai企联系统源码 商用去授权 支持文心 星火 GPT4等等20多种接口

智思Ai系统2.4.9版本去授权(可商用)支持市面上所有版本的接口例如:文心、星火、GPT4等等20多种接口!代过审AI小程序类目!!! 安装步骤: 1、在宝塔新建个站点,php版本使用…

使用pytorch神经网络拟合计算模型

一. 内容简介 python调用百度翻译api,将中文论文翻译英文,并保留部分格式 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3数据文件 链接:https://pan.baidu.com/s/1csJOoErGyx77MW_FImVKjg?pwd1234 三.主要流程 3.…

铁山靠之——HarmonyOS组件 - 2.0

HarmonyOS学习第二章 一、HarmonyOS基础组件的使用1.1 组件介绍1.2 Text1.2.1 文本样式1.2.2 设置文本对齐方式1.2.3 设置文本超长显示1.2.4 设置文本装饰线 1.3 Image1.3.1 设置缩放类型1.3.2 加载网络图片 1.4 TextInput1.4.1 设置输入提示文本1.4.2 设置输入类型1.4.3 设置光…

王道考研计算机网络——数据链路层

码元和信号变化是一一对应的 低通:低于最高频率的可以通过 奈氏准则无噪声,香农定理有噪声 给出db,利用公式求出S/N 放到数字信道上传输就是基带信号,放到模拟信道上传输就是宽带信号 把基带信号调制成宽带信号之后,…

JSON在Java中的使用

目录 第一章、快速了解JSON1.1)JSON是什么1.2)json的语法格式①键值对、字符串、数字、布尔值、数组、对象②嵌套的格式 1.3)为什么使用JSON 第二章、发送和接收JSON格式数据2.1)postman发送JSON格式数据2.2)Java后端接…

【csapp】cachelab

文章目录 Part APart B32 * 3264 * 6461 * 67 实验全程参考大佬的博客CS:APP3e 深入理解计算机系统_3e CacheLab实验 ,感觉大佬在矩阵转置那块介绍的还是有些简略,我自己又做了点动图加以补充理解。膜拜大佬! Part A 先解决解析命令行参数的…