摘要:让我们看看如何在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中连接云端资源进行代码调试的更多相关文章

  1. 小姐姐手把手教你JS数组中的对象去重

    有时候数据库中的数据重复的,我们另一个需求需要数据的唯一性 那么这时候就用到这个方法了  我还是以截图的方式发粗来  不然太丑了 见谅 console.log(map)打印出来的结果已经帮我们把需要的 ...

  2. 云小课|云小课教您如何选择Redis实例类型

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:购买Redis实例 ...

  3. 云小课|DGC数据开发之基础入门篇

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到DGC数据 ...

  4. 云小课|MRS基础原理之MapReduce介绍

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:MapReduce ...

  5. 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...

  6. 手把手教你写Sublime中的Snippet

    手把手教你写Sublime中的Snippet Sublime Text号称最性感的编辑器, 并且越来越多人使用, 美观, 高效 关于如何使用Sublime text可以参考我的另一篇文章, 相信你会喜 ...

  7. Ubuntu腾讯云主机安装分布式memcache服务器,C#中连接云主机进行存储的示例

    Ubuntu腾讯云主机安装分布式memcache服务器,C#中连接云主机进行存储的示例(github代码:https://github.com/qq719862911/MemcacheTestDemo ...

  8. 在windows中python安装sit-packages路径位置 在Pycharm中导入opencv不能自动代码补全问题

    在Pycharm中导入opencv不能自动代码补全问题 近期学习到计算机视觉库的相关知识,经过几个小时的探讨,终于解决了opencv不能自动补全代码的困惑, 我们使用pycharm安装配置可能会添加多 ...

  9. 云小课 | 搬迁本地数据至OBS,多种方式任你选

    摘要:搬迁本地数据至OBS,包括OBS工具方式.CDM方式.DES磁盘方式.DES Teleport方式和云专线方式,每种方式特点不同,本节课我们就一起看看有什么区别. 已有的业务数据可能保存在本地的 ...

  10. 云小课|带你揭开IP地址的神秘身份

    摘要:本文带你了解网络云产品和相关的知识内容. 华为云网络服务大家族提供了丰富的云产品,可以满足用户的各种网络互联需求.相应地,华为云帮助中心也贴心的奉上了你想了解的所有网络云产品知识. 可是小课最近 ...

随机推荐

  1. Bug是如何产生的?

    前言 知乎上有一个提问:Bug是如何产生的? ↓↓↓ 今天,我们就这个话题,一起来做个讨论. 个人觉得程序员与BUG的关系,就像空气中的细菌与人的关系一样. 我们不能完全杜绝与它接触,唯一能做的,就是 ...

  2. React框架的基本运行原理与组件定义方式

    React框架的基本运行原理 React的本质是内部维护了一套虚拟DOM树,这个虚拟DOM树就是一棵js对象树,它和真实DOM树是一致的,一一对应的. 当某一个组件的state发生修改时,就会生成一个 ...

  3. 基于LangChain的LLM应用开发3——记忆

    此情可待成追忆,只是当时已惘然.我们人类会有很多或美好或痛苦的回忆,有的回忆会渐渐模糊,有的回忆午夜梦醒,会浮上心头. 然而现在的大语言模型都是没有记忆的,都是无状态的,大语言模型自身不会记住和你对话 ...

  4. ELK-日志收集-Kibana WEB安全认证

    1.ELK收集MYSQL日志实战: 日志收集存放目录位置: /usr/local/logstash/config/etc/   1)日志采集-存入redis缓存数据库:mysql-redis.conf ...

  5. Godot引擎的一些踩坑记录(不断更新中)

    版本号 Godot 3.1.2 文件夹名称使用小写.编译\导出时有的tscn文件的引用路径, 有可能会变成小写路径(怀疑是bug),导致启动失败. ttc字体(文泉驿微米黑)导出时需要手动设置包含*. ...

  6. C++基础杂记(1)

    结构体中的位字段 共用体 烦人的枚举 枚举的声明与赋值 枚举的取值范围与强制类型转换 枚举的注意事项 指针 为什么是 int* ptr 而不是 int *ptr ? 避免危险的指针 使用array和v ...

  7. KubeEdge-Ianvs v0.2 发布:终身学习支持非结构化场景

    本文分享自华为云社区<KubeEdge-Ianvs v0.2 发布:终身学习支持非结构化场景>,作者: 云容器大未来. 在边缘计算的浪潮中,AI是边缘云乃至分布式云中最重要的应用.随着边缘 ...

  8. Java基础知识(纯干货)

    基础篇 IDEA 开发 Java项目 卸载JDK 删除Java的安装目录 删除JAVA_HOME 删除path下关于java的目录 java -version 安装JDK17 下载链接:https:/ ...

  9. [ARC165E] Random Isolation

    Problem Statement There is a tree with $N$ vertices numbered $1$ to $N$. The $i$-th edge connects ve ...

  10. 解决k8s删除pod后又重新创建了新的pod

    1.问题现象 2.原因 在Kubernetes中,当你删除一个Pod时,如果该Pod是由Deployment.ReplicaSet或PodController创建的,那么这个Pod会被标记为" ...