云小课|手把手教您在PyCharm中连接云端资源进行代码调试
摘要:让我们看看如何在PyCharm中连接云端资源进行代码调试吧!
本文分享自华为云社区《【云小课】EI第54课 手把手教您在PyCharm中连接云端资源进行代码调试》,作者:Hello EI 。
ModelArts提供了一个PyCharm插件工具PyCharm ToolKit,协助用户完成代码上传、提交训练作业、将训练日志获取到本地展示等,用户只需要专注于本地的代码开发即可。
让我们看看如何在PyCharm中连接云端资源进行代码调试吧!
PyCharm仅专业版支持远程开发功能,请确保本地已安装2019.2及以上版本的PyCharm专业版。

步骤总览
- Step1 安装PyCharm ToolKit
- Step2 创建插件访问密钥
- Step3 创建Notebook实例
- Step4 插件自动化配置
- Step5 使用插件连接云上Notebook
- Step6 同步上传本地文件至Notebook
- Step7 远程调试
Step1 安装PyCharm ToolKit
在PyCharm中选择“File > Settings>Plugins”,在Marketplace里搜索“ModelArts”,点击“Install”即可完成安装。

Step2 创建插件访问密钥
创建插件访问密钥(AK和SK)(参考链接)。
Step3 创建Notebook实例
在ModelArts控制台创建一个Notebook实例,创建时需开启远程SSH开发及选择密钥对,并确保该实例处于“运行中”状态。

创建好的密钥对,请下载并妥善保存,使用PyCharm远程连接云上Notebook开发环境时,需要用到密钥对进行鉴权认证。
Step4 插件自动化配置
PyCharm仅专业版支持远程开发功能,请确保本地已安装2019.2及以上版本的PyCharm专业版。
1.在PyCharm菜单栏中选择“ModelArts > Edit Credential”。

2.将创建的访问密钥(AK和SK)输入到ToolKit对应位置,点击OK按钮进行登录,出现下图提示即为登录成功。

3.在PyCharm菜单栏中选择“ModelArts > Notebook > Remote Config”,在打开的界面中选择要连接的Notebook实例,在KeyPair中选择该Notebook实例对应的秘钥。
选择完成后,点击Apply,等待一段时间后,会出现重启IDE的确认框,点击确认重启,重启后即可生效。

- KeyPair: 需要选择保存在本地的Notebook对应的keypair认证。即创建Notebook时创建的密钥对文件,创建时会直接保存到浏览器默认的下载文件夹中。
- PathMappings: 该参数为PyCharm项目和Notebook对应的同步目录,默认为“/home/ma-user/work/project”名称,可根据自己实际情况更改。
Step5 使用插件连接云上Notebook
当Notebook实例为绿色三角形状态时(图1),表示该实例运行中(但未与PyCharm连接)。此时点击该实例名称,实例会变为绿色勾状态(图2),表示PyCharm已与实例连接成功。


Step6 同步上传本地文件至Notebook
- 初始化同步
在PyCharm的Project目录下,单击右键,选择“Deployment”,单击“Upload to xxx”(Notebook名称),将本地工程文件上传至指定的Notebook。

- 后续同步
只需修改代码后保存(ctrl+s),即可进行自动同步。
插件安装完成后在PyCharm中开启了“Automatic Upload”,本地目录中的文件会自动上传至云端开发环境Notebook。如果未开启,请点击“Tool > Deployment > Automatic Upload”。

Step7 远程调试
1、选择Python解释器
方法一:单击PyCharm右下角interpreter,选择Notebook的Python解释器。

方法二:单击PyCharm右上角的Edit Configuration按钮来设置运行参数。

选择远程连接到云上开发环境实例对应的Python解释器。

2、代码调试
当需要调试代码时,可以直接打断点,然后使用debug方式运行程序。

云小课|手把手教您在PyCharm中连接云端资源进行代码调试的更多相关文章
- 小姐姐手把手教你JS数组中的对象去重
有时候数据库中的数据重复的,我们另一个需求需要数据的唯一性 那么这时候就用到这个方法了 我还是以截图的方式发粗来 不然太丑了 见谅 console.log(map)打印出来的结果已经帮我们把需要的 ...
- 云小课|云小课教您如何选择Redis实例类型
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:购买Redis实例 ...
- 云小课|DGC数据开发之基础入门篇
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到DGC数据 ...
- 云小课|MRS基础原理之MapReduce介绍
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:MapReduce ...
- 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...
- 手把手教你写Sublime中的Snippet
手把手教你写Sublime中的Snippet Sublime Text号称最性感的编辑器, 并且越来越多人使用, 美观, 高效 关于如何使用Sublime text可以参考我的另一篇文章, 相信你会喜 ...
- Ubuntu腾讯云主机安装分布式memcache服务器,C#中连接云主机进行存储的示例
Ubuntu腾讯云主机安装分布式memcache服务器,C#中连接云主机进行存储的示例(github代码:https://github.com/qq719862911/MemcacheTestDemo ...
- 在windows中python安装sit-packages路径位置 在Pycharm中导入opencv不能自动代码补全问题
在Pycharm中导入opencv不能自动代码补全问题 近期学习到计算机视觉库的相关知识,经过几个小时的探讨,终于解决了opencv不能自动补全代码的困惑, 我们使用pycharm安装配置可能会添加多 ...
- 云小课 | 搬迁本地数据至OBS,多种方式任你选
摘要:搬迁本地数据至OBS,包括OBS工具方式.CDM方式.DES磁盘方式.DES Teleport方式和云专线方式,每种方式特点不同,本节课我们就一起看看有什么区别. 已有的业务数据可能保存在本地的 ...
- 云小课|带你揭开IP地址的神秘身份
摘要:本文带你了解网络云产品和相关的知识内容. 华为云网络服务大家族提供了丰富的云产品,可以满足用户的各种网络互联需求.相应地,华为云帮助中心也贴心的奉上了你想了解的所有网络云产品知识. 可是小课最近 ...
随机推荐
- Kafka 在分布式系统中的 7 大应用场景
Kafka 介绍 Kafka 是一个开源的分布式流式平台,它可以处理大量的实时数据,并提供高吞吐量,低延迟,高可靠性和高可扩展性.Kafka 的核心组件包括生产者(Producer),消费者(Cons ...
- Pinely Round 2 (Div. 1 + Div. 2) (CF1863)
本来开了某场远古 Div 1,然后学了一堆前置知识至今仍然不会 E.换一场写来得及吗? A. Channel 模拟,略. B. Split Sort Description 给你一个长度为 \(n\) ...
- Vue源码学习(十三):实现watch(一):方法,对象
好家伙, 代码出了点bug,暂时只能实现这两种形式 完整代码已开源https://github.com/Fattiger4399/analytic-vue.git Vue:watch的多种使用方法 ...
- Net 高级调试之四:Windbg 动态调试
一.简介 今天是<Net 高级调试>的第四篇文章.到今天为止,也有三篇文章了,对 Windbg 也有初步的认识了,当然,一个工具流畅.熟练的使用,对于我们调试 Net 程序是至关重要的.在 ...
- 来世再不选Java!
危机感 距离上一次找工作面试已经过去快2年了,那时候正值疫情肆虐,虽然还未感受到"寒潮来临"的苗头,但最终还是成功通过了几轮面试,顺利签约.在目前公司待了2年了,在大环境的影响下, ...
- AcWing 178. 第K短路
题意 给定一张 \(N\) 个点(编号 \(1,2-N\)),\(M\) 条边的有向图,求从起点 \(S\) 到终点 \(T\) 的第 \(K\) 短路的长度,路径允许重复经过点或边. 注意: 每条最 ...
- python之字符串format()方法
format()方法就是格式化指定的值,然后再将其插入字符串的占位符内 占位符用大括号{}来定义哈,可以使用命名索引{sws}.编号索引{0}.甚至空的占位符{}来标识占位符. 语法就是 string ...
- iOS信号量造成线程优先级反转
在并发队列使用信号量会可能会造成线程优先级反转 一.在iOS16 & XCode14上遇到 - 使用信号量造成线程优先级反转问题 提醒 经过查询资料,发现是在XCode14上增加了工具,比如 ...
- 【javaweb】integer是什么意思?integer和int的区别
1.数据类型不同:int是基础数据类型,而integer是包装数据类型 2.默认值不同:int的默认值是0,而integer的默认值是null 3.内存中存储的方式不同:int 在内存中直接存储的是数 ...
- 在模态窗口中控制窗口的隐藏和显示(.NET)
如果你创建了模态窗口,虽然一些API,例如Editor.GetSelection(),可以自动隐藏模式对话框,但如果从模态窗口出发与编辑器(编辑器指的模型空间,即你绘图的窗口)交互, 它会在GetSe ...