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.rhkb.cn/news/224722.html

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

相关文章

C# 读取Word表格到DataSet

目录 功能需求 Office 数据源的一些映射关系 范例运行环境 配置Office DCOM 关键代码 组件库引入 ​核心代码 杀掉进程 总结 功能需求 在应用项目里,多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求,但某些情况下,也存…

RasaGPT对话系统的工作原理

RasaGPT 结合了 Rasa 和 Langchain 这 2 个开源项目,当超出 Rasa 现有意图(out_of_scope)的时候,就会执行 ActionGPTFallback,本质上就是利用 Langchain 做了一个 RAG,调用 LLM API。RasaGPT 涉及的技术栈比较多而复杂&#xff0c…

js显示前七天的日期,前几天依次类推

1.效果图 2.js代码 function beforetime1() {let now new Date();//想获取前七天日期就减七&#xff0c;前六天就减六&#xff0c;以此类推var date new Date(now.getTime() - 7 * 24 * 3600 * 1000);var y date.getFullYear();var m date.getMonth() 1;m m < 10 ? …

【物联网】光影之谜:RGB-LED传感器引领科技变革之路

​​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《物联网实战 | 数字奇迹记》⏰翰墨致赠&#xff1a;狂风挟雷霆舞苍穹&#xff0c;剑气横扫万里空。英雄豪情铸不朽&#xff0c;激荡壮志燃热风。 ​ 目录 ⛳️1. 初识物联网 ⛳…

TikTok与环保:短视频如何引领可持续生活方式?

在数字时代&#xff0c;社交媒体平台扮演着塑造文化和价值观的关键角色。而TikTok&#xff0c;作为一款全球短视频平台&#xff0c;不仅塑造着用户的娱乐方式&#xff0c;还在悄然地引领着可持续生活方式的潮流。本文将深入探讨TikTok与环保之间的关系&#xff0c;分析短视频如…

【FPGA】分享一些FPGA高速信号处理相关的书籍

在做FPGA工程师的这些年&#xff0c;买过好多书&#xff0c;也看过好多书&#xff0c;分享一下。 后续会慢慢的补充书评。 【FPGA】分享一些FPGA入门学习的书籍【FPGA】分享一些FPGA协同MATLAB开发的书籍 【FPGA】分享一些FPGA视频图像处理相关的书籍 【FPGA】分享一些FPGA高速…

顺序表的基本操作(必学)

目录 线性表&#xff1a; 顺序表&#xff1a; 概念和结构&#xff1a; 动态顺序表常用操作实现&#xff1a; 头文件&#xff08;数组顺序表的声明&#xff09;&#xff1a; 各种基本操作总的声明&#xff1a; 顺序表的初始化&#xff1a; 顺序表的销毁 顺序表的打印 …

【Vue2+3入门到实战】(4)Vue基础之指令修饰符 、v-bind对样式增强的操作、v-model应用于其他表单元素 详细示例

目录 一、今日学习目标1.指令补充 二、指令修饰符1.什么是指令修饰符&#xff1f;2.按键修饰符3.v-model修饰符4.事件修饰符 三、v-bind对样式控制的增强-操作class1.语法&#xff1a;2.对象语法3.数组语法4.代码练习 四、京东秒杀-tab栏切换导航高亮1.需求&#xff1a;2.准备代…

大数据深度解析NLP文本摘要技术:定义、应用与PyTorch实战

文章目录 大数据深度解析NLP文本摘要技术&#xff1a;定义、应用与PyTorch实战1. 概述1.1 什么是文本摘要&#xff1f;1.2 为什么需要文本摘要&#xff1f; 2. 发展历程2.1 早期技术2.2 统计方法的崛起2.3 深度学习的应用2.4 文本摘要的演变趋势 3. 主要任务3.1 单文档摘要3.2 …

2023年国赛高教杯数学建模E题黄河水沙监测数据分析解题全过程文档及程序

2023年国赛高教杯数学建模 E题 黄河水沙监测数据分析 原题再现 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变化和人民生活的影响&#xff0c;以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾等方面都具有重要的理论指导…

mmdetection使用projects/gradio_demo

我用google的colab搭建。 # Check nvcc version !nvcc -V # Check GCC version !gcc --version # install dependencies: (use cu111 because colab has CUDA 11.1) %pip install -U openmim !mim install "mmengine>0.7.0" !mim install "mmcv>2.0.0rc4…

智能优化算法应用:基于蜣螂算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蜣螂算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蜣螂算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜣螂算法4.实验参数设定5.算法结果6.参考文献7.MA…

WPS复选框里打对号,显示小太阳或粗黑圆圈的问题解决方法

问题描述 WPS是时下最流行的字处理软件之一&#xff0c;是目前唯一可以和微软office办公套件相抗衡的国产软件。然而&#xff0c;在使用WPS的过程中也会出现一些莫名其妙的错误&#xff0c;如利用WPS打开docx文件时&#xff0c;如果文件包含复选框&#xff0c;经常会出…

民富购:塑造数字时代下的电商革新与社会责任典范

在数字经济时代,电子商务已经成为建立市场关系、创新产业和服务业态、促进经济增长的重要途径和手段。特别是在中国,新型电子商务的迅猛发展已经改变了生产和生活的方方面面,不仅催生了众多新业态,还通过“互联网”战略让许多传统产业和服务焕发了新的生机。民富购,作为扬羊(广…

【数据结构入门精讲 | 第十七篇】一文讲清图及各类图算法

在上一篇中我们进行了的并查集相关练习&#xff0c;在这一篇中我们将学习图的知识点。 目录 概念深度优先DFS伪代码 广度优先BFS伪代码 最短路径算法&#xff08;Dijkstra&#xff09;伪代码 Floyd算法拓扑排序逆拓扑排序 概念 下面介绍几种在对图操作时常用的算法。 深度优先D…

融资项目——swagger2的注解

1. ApiModel与ApiModelProperty(在实体类中使用) 如上图&#xff0c;ApiModel加在实体类上方&#xff0c;用于整体描述实体类。ApiModelProperty(value"xxx",example"xxx")放于每个属性上方&#xff0c;用于对属性进行描述。swagger2网页上的效果如下图&am…

2023RT-Thread开发者大会

参加了一次RT-Thread的开发者大会&#xff0c;相当有意思&#xff0c;虽然一天奔波挺累&#xff0c;但睡了半天之后简单剪了下22号的视频&#xff0c;也就有时间写自己的参会笔记了。 与openEuler社区不同&#xff0c;RT-Thread社区更专注于嵌入式&#xff0c;与硬件厂商结合…

算法通关村-番外篇排序算法

大家好我是苏麟 , 今天带来番外篇 . 冒泡排序 BubbleSort 最基本的排序算法&#xff0c;最常用的排序算法 . 我们以关键字序列{26,53,48,11,13,48,32,15}看一下排序过程: 动画演示 : 代码如下 : (基础版) class Solution {public int[] sortArray(int[] nums) {for(int i …

INFINI Gateway 如何防止大跨度查询

背景 业务每天生成一个日期后缀的索引&#xff0c;写入当日数据。 业务查询有时会查询好多天的数据&#xff0c;导致负载告警。 现在想对查询进行限制–只允许查询一天的数据&#xff08;不限定是哪天&#xff09;&#xff0c;如果想查询多天的数据就走申请。 技术分析 在每…

Go 泛型发展史与基本介绍

Go 泛型发展史与基本介绍 Go 1.18版本增加了对泛型的支持&#xff0c;泛型也是自 Go 语言开源以来所做的最大改变。 文章目录 Go 泛型发展史与基本介绍一、为什么要加入泛型&#xff1f;二、什么是泛型三、泛型的来源四、为什么需要泛型五、Go 泛型设计的简史六、泛型语法6.1 …