使用 Pycharm 调试远程代码

news2025/1/31 3:24:02

文章目录

    • 背景
    • 同步远程代码
    • Interpreter
    • 注意点

背景

工作机是一台 Windows 电脑,而很多时候需要在 Mac 电脑上编码、配合 iPhone 模拟器,所以我以前是用 VNC 或者向日葵来远程 Mac 来编程,其实还能接受,但是最让我不舒服的是快捷键的使用。众所周知,Windows 的快捷键对应 Mac 来说,是需要切换按键的,而且很多快捷键在 Mac 上不知道是什么,而且远程也会受到网络波动的影响,时而鼠标点不动、键盘打字反应不流畅,其他不舒服的点就不提了。

同步远程代码

使用 pycharm 自带的 Deployment 功能,可以实现直接远程编码。

先配置 SSH Configuration,填我要远程的 Mac 机子的 IP 和用户名密码,再 Test Connection,可以给这个条配置起个名字,比如 iOSmachine。
请添加图片描述

配置 Tools - Deployment - Configuration

请添加图片描述

关于 Connection

可以不用自己配置,点击 Autodetect,自动生成我 Mac 电脑上的一个 /Users/<username> 路径

请添加图片描述

关于 Mapping

这个就是关键了,local path 配置成我本地编码的工程路径,Deployment path 配置成 Mac 机子上的一个路径,以后就可以将这两个路径里的文件相互同步。

请添加图片描述

为了方便,两边都去了同样的目录名 mobile_develop,然后将同一份工程代码分别克隆到两台机子上。

为什么要这么做,因为我发现,如果仅仅是一边克隆 git 工程代码,并将这个路径同步到另一台机子上,使用 pycharm 打开,并不能使用 git blame 功能,还有就是为了两边都可以提交代码等。

当然,很多时候 Deployment 不是我这么用的,比如需要在没有图形界面的服务器机子上调试代码,那么就可以 ssh 远程连接,将代码同步到本地,在本地执行调试,改好代码后,再同步回服务器。

在本地修改代码后,怎么同步到远程的机子上,还有怎么保留部分、只同步某个目录下的文件,都可以在 Deployment 菜单中不断摸索使用。

请添加图片描述

请添加图片描述

常使用的一个功能,忽略一些不重要的文件,在 Deployment - Options 中配置

请添加图片描述

Interpreter

同步代码后,需要调试,如果本地有和远程一样的环境,那么就好办了,不用使用远程的 python,直接使用本地的 Python 版本来调试。

但是通常远程环境和本地不同,所以我调试这个工程的同时,需要使用远程的环境,比如使用 Mac 机子上的 Python 版本,此时配置 Python Interpreter

先选择 On SSH

请添加图片描述

填写我远程的 Mac 机子的 host、username,操作几步,到如下所示

请添加图片描述

配置好后,需要等待加载。

最后,就可以在 Windows 上的 pycharm 上编码、调试、运行,本质上环境是 Mac 的环境。

比如我在 Windows 上执行启动模拟器的 app 代码,Mac 电脑上的 app 就能运行起来,从此,我就不用打开远程软件窗口来编码了,舒服。

注意点

有些代码使用了 Mac 环境变量里的操作,在这个功能下操作,可能会出现报错。比如 Mac 环境下有配置 jfrog 环境变量,在 win 上通过 ssh 远程代码,在本地执行 os.popen('jfrog xxx xxx') 就不能有预期的结果,而是应该使用 os.popen('/usr/local/bin/jfrog xxx xxx') ,环境变量的问题需要注意一下。

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

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

相关文章

MySQL表操作:提高数据处理效率的秘诀(进阶)(2)

&#x1f495;“学习难免有坎坷&#xff0c;重要的是你能尽力而为&#xff0c;持之以恒。”&#x1f495; &#x1f43c;作者&#xff1a;不能再留遗憾了&#x1f43c; &#x1f386;专栏&#xff1a;MySQL学习&#x1f386; &#x1f697;本文章主要内容&#xff1a;MySQL表操…

K Shortest Paths算法之Yen algorithm

Yen’s算法是一种在图论中用于计算单源K最短无环路径的算法&#xff0c;该算法由Jin Y. Yen在1971年提出。这个算法的时间复杂度和空间复杂度都取决于用于计算偏离路径的最短路径算法。如果使用Dijkstra算法&#xff0c;那么时间复杂度为O(KN3)&#xff0c;采用Fibonacci堆计算…

Elasticsearch:Explain API - 如何计算分数

你想了解你的文档为何获得该分数吗&#xff1f; 文档 让我们通过一组示例文档来了解 Explain API。 就我而言&#xff0c;我将使用一小部分电影名言。 POST _bulk { "index" : { "_index" : "movie_quotes" } } { "title" : "T…

从malloc到跑路

当我还是一个懵懂无知的少年时&#xff0c;内心也曾升起这样的疑问这内存咋来的捏❓ 有个帅气的小哥哥给我甩了一篇博客&#xff1a;对&#xff0c;就是这篇&#xff0c;看完后总感觉意犹未尽&#xff0c;似乎少了点什么的样子。。。 还是从malloc开始 如果申请的内存小于64B…

“配置DHCP服务器和DHCP中继的网络自动配置实验“

"配置DHCP服务器和DHCP中继的网络自动配置实验" 【实验目的】 部署DHCP服务器。熟悉DHCP中继的配置方法。验证拓扑。 【实验拓扑】 实验拓扑如图所示。 设备参数如下表所示。 设备 接口 IP地址 子网掩码 默认网关 DHCPSERVE S0/3/0 192.168.10.1 255.255.…

丰富上下文的超高分辨率分割:一种新的基准

文章目录 Ultra-High Resolution Segmentation with Ultra-Rich Context: A Novel Benchmark摘要数据集Dataset SummaryData Collection and Pre-processing 数据标注数据统计 WSDNet实验结果 Ultra-High Resolution Segmentation with Ultra-Rich Context: A Novel Benchmark …

SSM整合快速入门案例(一)

文章目录 前言一、设计数据库表二、创建工程三、SSM技术整合四、功能模块开发五、接口测试总结 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便日后回顾。当然&#xff0c;如果能帮到一些萌新进行新技术的学习那也是极好的。作者…

不认识docker,怎么好意思说自己是干IT的

1.Docker是什么 一款产品从开发到上线&#xff0c;从操作系统&#xff0c;到运行环境&#xff0c;再到应用配置。作为开发运维之间的协作我们需要关心很多东西&#xff0c;这也是很多互联网公司都不得不面对的问题&#xff0c;特别是各种版本的迭代之后&#xff0c;不同版本环…

用户行为数据分析

文章目录 用户行为数据分析1 项目描述2 项目需求3 数据准备1、创建user_data数据表用于导入user_data.csv中的数据2、加载user_data.csv中的数据到user_data表3、接下来进行数据清洗&#xff0c;包括&#xff1a;删除重复值&#xff0c;时间戳格式化&#xff0c;删除异常值。 4…

OpenGL光照之基础光照

文章目录 环境光照漫反射光照计算漫反射光照镜面光照代码 现实世界的光照是极其复杂的&#xff0c;而且会受到诸多因素的影响&#xff0c;这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型&#xff0c;对现实的情况进行近似&#xff0c;这样处理起来会…

MyBatis-Plus(2.0)

ActiveRecord ActiveRecord(简称AR)一直广受动态语言&#xff08;PHP、Ruby等&#xff09;的喜爱&#xff0c;而java作为准静态语言&#xff0c;对于ActiveRecord往往只能感叹器优雅 什么是ActiveRecord&#xff1f; ActiveRecord也属于ORM(对象关系映射)层&#xff0c;由Rail…

视频|人人能看懂的苹果visionOS空间设计课程

本周的重磅消息无疑是苹果Vision Pro以及对应的visionOS&#xff0c;考虑到苹果头显硬件上当前以第一方App为主&#xff0c;因此本届WWDC的一个重点就是释放visionOS和相关能力给开发者&#xff0c;让开发者尽快打造出更多、更优质的第三方App阵容。 与此同时&#xff0c;苹果也…

【vue3】10-vue组件化额外知识补充(下)-动态组件-组件缓存-v-model在组件上的应用

组件化-额外知识补充&#xff08;下&#xff09; 动态组件的使用(了解)keep-alive&#xff08;理解&#xff09;认识keep-alivekeep-alive的使用 异步组件的使用webpack分包处理&#xff08;了解&#xff09;Vue中实现异步组件 组件的v-model组件的混入Mixin&#xff08;了解&a…

阿里云弹性公网EIP收费价格表(按量/包年包月/配置费)

阿里云弹性公网EIP怎么收费&#xff1f;EIP地域不同价格不同&#xff0c;EIP计费模式分为包年包月和按量付费&#xff0c;弹性公网IP可以按带宽收费也可以按使用流量收费&#xff0c;阿里云百科分享阿里云弹性公网IP不同地域、不同计费模式、按带宽和按使用流量详细收费价格表&…

基于springboot+vue技术的在线考试系统源码数据库

源码看这里 https://download.csdn.net/download/2301_76965813/87881785 前台 学生登录&#xff1a; 如果没有账号&#xff0c;首先需要以学生的身份进行注册&#xff0c;即输入姓名、性别、密码以及班级&#xff0c;注册成功之后输入账户名和密码进行登录&#xff0c;进入…

conda虚拟环境配置和系统相关配置

一、conda虚拟环境 首先&#xff0c;尽量别在base中直接安装自己的包。原因有以下两个&#xff1a; 1.base环境是conda运行的基础&#xff0c;没法一键清除&#xff0c;如果损坏base环境要么滚回要么卸载重装&#xff0c;比较麻烦 2.base中很多包并不是项目需要的包&#xff0c…

Spring5

Spring5 文章目录 Spring5一.框架概述二.入门案例三.IOC容器1.IOC概念2.IOC底层原理3.IOC接口 四.IOC操做Bean管理1.Bean管理2.基于xml配置文件方式实现(1).创建对象(2).注入属性第一种注入:set方法第二种注入:有参数的构造p名称空间注入(了解)注入空值和特殊符号外部Bean内部B…

itop-3568开发板驱动学习笔记(27)设备树(六)pinctrl

《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录 pinctrl 子系统简介pinctrl 设备树语法pinctrl 客户端pinctrl 服务端瑞星微平台全志平台三星平台iMX 平台 pinctrl 子系统简介 Linux pinctrl 子系统用来管理 GPIO 引脚&#xff0c;它主要完成了以下三种功…

MySQL数据库,从入门到精通:第三篇——MySQL 数据库规范和基础查询语句

MySQL数据库&#xff0c;从入门到精通&#xff1a;第三篇——MySQL 数据库规范和基础查询语句 第三篇_MySQL 数据库规范和基础查询语句1. SQL概述1.1 SQL背景知识1.2 SQL语言排行榜1.3 SQL 分类 2. SQL语言的规则与规范2.2 SQL大小写规范 &#xff08;建议遵守&#xff09;2.3 …

设计模式-03.02-创建型-工厂建造者原型

工厂模式【常用】 工厂模式很重要&#xff0c;后面的很多架构设计&#xff0c;都是工厂模式联合着其它设计模式使用。 一般情况下&#xff0c;工厂模式分为三种更加细分的类型&#xff1a;简单工厂、工厂方法和抽象工厂。不过&#xff0c;在 GoF 的《设计模式》一书中&#xff…