如何使用固定公网地址远程连接Python编译器并将运行结果返回到Pycharm
文章目录
- 一、前期准备
- 1. 检查IDE版本是否支持
- 2. 服务器需要开通SSH服务
- 二、Pycharm本地链接服务器测试
- 1. 配置服务器python解释器
- 三、使用内网穿透实现异地链接服务器开发
- 1. 服务器安装Cpolar
- 2. 创建远程连接公网地址
- 四、使用固定TCP地址远程开发
本文主要介绍如何使用Pycharm进行远程开发,并实现在家远程与公司服务器资源同步。
新版本Jetbrains系列开发IDE(IntelliJ IDEA,PyCharm,GoLand)等都支持远程使用服务器编译,并且可以通过SFTP同步本地与服务器项目代码。
这样做的好处是**我们只要连接上服务器就能开始干活儿,不用折腾环境,**不占用个人笔记本资源,最重要的是不用忍受笔记本的烂风扇噪音。
接下来我来教大家如何配置实现在家远程利用公司服务器资源开发:

一、前期准备
1. 检查IDE版本是否支持
本文以Pycharm举例,IntelliJ IDEA操作方式相同。
确认您安装的PyCharm是社区版还是专业版,只有专业版才支持远程开发功能。
在这里查看软件版本:工具栏help->about

显示 Professional Edition,即为专业版。
2. 服务器需要开通SSH服务
执行:
sudo systemctl status sshd

active表示已开通
二、Pycharm本地链接服务器测试
1. 配置服务器python解释器
找到工具栏的 [File] -> [Settings],打开以下设置弹窗,搜索interpreter找到[Python interpreter]设置项

点击Add Interpreter,选择On SSH

将实例SSH指令中的Host、Port与Username进行匹配和填写(Username均为root,Host和Port查看自己实例的SSH指令)

输入服务器登陆密码:

继续下一步,直到看到 completed 字样,再点下一步。

选择System Interpreter(选择服务器的代码解释器),选择服务器的远程Python解释器路径(如果您安装了其他Python或虚拟环境则根据实际情况填写)

配置项目路径,意思是本地项目和远程实例中的哪个目录进行关联,这里设置为我演示项目的目录(不建议使用默认的/tmp目录)
选择好自定义同步项目文件夹,点击文件夹图标:

弹窗内左侧为本地项目路径,右侧为服务器项目路径,可以自行修改:

我修改的远程路径为:/root/projects/pythonlearn,点 ok

检查一下远程服务器的解释器和同步路径,点 Create

如果配置均无误PyCharm会配置一下,之后我们在本机项目最下边可以看到 SFTP 字样和服务器信息,说明我们的配置成功,此时我们不光使用服务器编译代码,项目还能与服务器同步。
我链接服务器后同步出的数据如下:

此处我们在本地测试成功,但是这样配置的意义就是可以实现异地使用服务器的资源开发,这里我们**需要将SSH时使用的本地IP映射为公网TCP地址,才能实现异地开发。**这样我们只需本地编写代码,远程到服务器编译并同步代码。
三、使用内网穿透实现异地链接服务器开发
1. 服务器安装Cpolar
本地测试完成后,我们需要在服务器上安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的公网地址,我们可以很容易实现远程访问。下面是安装cpolar步骤:
cpolar官网地址: https://www.cpolar.com
- 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

Ubuntu18及Centos7之前的系统,需要使用手动安装Cpolar,详见:
Linux手动安装Cpolar方法 - cpolar 极点云
2. 创建远程连接公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

- 隧道名称:可自定义,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:22 (本地ssh默认端口)
- 域名类型:临时随机TCP端口
- 地区:选择China
点击创建
创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp地址,这个地址就是公网连接地址,接下来使用这个地址:1.tcp.cpolar.cn:20747 ,替换我们的本地地址。

我们再次回到编译器设置界面, 点击Add Interpreter,选择On SSH

找到[Python interpreter]设置项,选择Existing,修改Python编译器地址:

选择后边是 agent 这个 sever选项

点 管理

修改本地地址为公网TCP地址,修改端口号。

修改为:

点击Apply部署,点 ok,自动跳转为:

点 ok

输入服务器登陆密码:

配置完毕,点Next

我们可以看到已经链接成功,可以看到编译器路径和项目保存路径,点 create:

等待一会加载:

此时Python编译器处已经显示我们配置的公网地址,点Apply,就配置完成。

项目页面左下角已经显示我们编译器的路径,此时我们编译代码使用的就是服务器编译器,运行完毕后结果返回至Pycharm。

小结
为了方便演示,我们在前述过程中使用了Cpolar生成的TCP地址隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
我一般会使用固定TCP域名,原因是我希望每天打开开发工具直接上手工作,不用这配置一下那配置一下,接下来我教大家如何固定TCP地址:
四、使用固定TCP地址远程开发
访问官网控制面板,保留TCP:
Cpolar - secure introspectable tunnels to localhost
保留一个固定tcp地址,登录cpolar官网,点击左侧的预留,找到保留的tcp地址,为远程服务器连接保留一个固定tcp地址:
- 地区:选择China VIP / China VIP Top。
- 描述:即备注,可自定义
点击保留

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来:

打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击编辑

选择 固定TCP端口:

修改隧道信息,将保留成功的固定tcp地址配置到隧道中
- 端口类型:修改为固定TCP端口
- 预留的tcp地址:复制粘贴官网保留成功的地址
点击更新
隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定TCP地址。

我们仍然重复之前的操作,将原来的随机TCP地址替换为固定TCP地址:
找到工具栏的 [File] -> [Settings],选择Existing,修改Python编译器地址:

按照如下方法填写我们固定好的TCP地址和端口号:

点击Apply后,点 ok

点 Next

点 ok

输入服务器登陆密码

配置完毕,点 Next。

这里我们看到,已经自动查到我们服务器中编译器路径和项目保存路径;点 create。

点Apply部署,点 ok

此时我们可以看到左下角已经显示使用我们固定地址的Python编译器:

本教程最终效果已经达成。我们已经能够使用永久固定地址来远程操作服务器中的Python编译器并将运行结果返回到Pycharm,代码修改还能通过这个TCP地址同步,这样我们就可在任意地点远程使用服务器的强大算力来编译各种复杂的项目而不占用本地资源!
相关文章:
如何使用固定公网地址远程连接Python编译器并将运行结果返回到Pycharm
文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…...
Java设计模式—备忘录模式(快照模式)
定义 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作&#…...
没学数模电可以玩单片机吗?
我们首先来看一下数电模电在单片机中的应用。数电知识在单片机中主要解决各种数字信号的处理、运算,如数制转换、数据运算等。模电知识在单片机中主要解决各种模拟信号的处理问题,如采集光照强度、声音的分贝、温度等模拟信号。而数电、模电的相互转换就…...
FlinkSQL之Flink SQL Join二三事
Flink SQL支持对动态表进行复杂而灵活的连接操作。 为了处理不同的场景,需要多种查询语义,因此有几种不同类型的 Join。默认情况下,joins 的顺序是没有优化的。表的 join 顺序是在 FROM 从句指定的。可以通过把更新频率最低的表放在第一个…...
某某消消乐增加步数漏洞分析
一、漏洞简介 1) 漏洞所属游戏名及基本介绍:某某消消乐,三消游戏,类似爱消除。 2) 漏洞对应游戏版本及平台:某某消消乐Android 1.22.22。 3) 漏洞功能:增加游戏步数。 4…...
SpringBoot动态数据源实现
一、背景 一个应用难免需要连接多个数据库,像我们系统起码连接了5个以上数据库,AWS RDS主库,ECS自搭MySQL从库,工厂系统三个SQLServer数据库,在线网站MySQL数据库,记得很早以前是用SessionFactory配置&…...
计算机网络常见题(持续更新中~)
1 描述一下HTTP和HTTPS的区别 2 Cookie和Session有什么区别 3 如果没有Cookie,Session还能进行身份验证吗? 4 BOI,NIO,AIO分别是什么 5 Netty的线程模型是怎么样的 6 Netty是什么?和Tomcat有什么区别,特点是什么? 7 TCP的三次…...
富格林:可信招数揭发防备暗箱陷阱
富格林悉知,在风云变幻的金融市场中,炒贵金属是一项具有高收益潜力的投资方式。但投资是风险与收益共存的,因此我们在做单投资过程中需总结可信招数揭发暗箱陷阱,防备受害亏损。以下总结几点可信的投资技巧,希望能够帮…...
获取高德安全码SHA1
高德开发者平台上给的三种方法 获取安全码SHA1,这里我自己使用的是第三种方法。 1、通过Eclipse编译器获取SHA1 使用 adt 22 以上版本,可以在 eclipse 中直接查看。 Windows:依次在 eclipse 中打开 Window -> Preferances -> Androi…...
关于RPC
初识RPC RPC VS REST HTTP Dubbo Dubbo 特性: 基于接口动态代理的远程方法调用 Dubbo对开发者屏蔽了底层的调用细节,在实际代码中调用远程服务就像调用一个本地接口类一样方便。这个功能和Fegin很类似,但是Dubbo用起来比Fegin还要简单很多&a…...
pulsar: kafka on pulsar之把pulsar当kafka用
一、下载协议包(要和pulsar版本比较一致) https://github.com/streamnative/kop/releases?q2.8.0&expandedtrue二、在pulsar的根目录创建一个protocols目录,将上述包放到这个目录里 三、编辑broker.conf(如果是集群)或者standalone.con…...
七月论文审稿GPT第4版:通过paper-review数据集微调Mixtral-8x7b
模型训练 Mixtral-8x7b地址:魔搭社区 GitHub: hiyouga/LLaMA-Factory: Unify Efficient Fine-tuning of 100 LLMs (github.com) 环境配置 git clone https://github.com/hiyouga/LLaMA-Factory.git conda create -n llama_factory python3.10 conda activate lla…...
基于 YOLO V8 Fine-Tuning 训练自定义的目标检测模型
一、YOLO V8 YOLO V8 是由 2023 年 ultralytics 公司开源的发布,是结合了前几代 YOLO 的融合改进版。YOLO V8 支持全方位的视觉 AI 任务,包括检测、分割、姿态估计、跟踪和分类。并且在速度和准确性方面具有无与伦比的性能。能够应用在各种对速度和精度…...
快手,得物,蓝月亮,蓝禾,奇安信,三七互娱,顺丰,康冠科技,金证科技24春招内推
快手,得物,蓝月亮,蓝禾,奇安信,三七互娱,顺丰,康冠科技,金证科技24春招内推 ①得物 【岗位】技术,设计,供应链,风控,产品,…...
全局UI方法-弹窗二-列表选择弹窗(ActionSheet)
1、描述 定义列表弹窗 2、接口 ActionSheet.show(value:{ title: string | Resource, message: string | Resource, autoCancel?: boolean, confrim?: {value: string | Resource, action: () > void }, cancel?: () > void, alignment?: DialogAlignment, …...
Memcached分布式内存对象数据库
一 Memcached 概念 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 二 在架构中的位置 Memcached 处于前端或中间件后…...
华为广告打包报错,问题思考
华为广告打包时报错 fata日志不一样能反映出完整的错误日志信息,仅看fata日志具有误导性,有可能指向错误的方向。 通过看完整的日志可见,错误的原因为 Caused by: java.lang.ClassNotFoundException: com.huawei.hms.ads.base.R$dimenfata日…...
docker-compose mysql
使用docker-compose 部署 MySQL(所有版本通用) 一、拉取MySQL镜像 我这里使用的是MySQL8.0.18,可以自行选择需要的版本。 docker pull mysql:8.0.18二、创建挂载目录 mkdir -p /data/mysql8/log mkdir -p /data/mysql8/data mkdir -p /dat…...
PGAdmin 4:用于管理和维护PostgreSQL数据库的强大工具
PGAdmin 4 是一款用于管理和维护PostgreSQL数据库的强大工具。它提供了丰富的功能,帮助数据库管理员和开发人员轻松管理他们的数据库。 下载地址:https://www.pgadmin.org/download/,如常用windows和rpm版本 本地使用:windows …...
成都市酷客焕学新媒体科技有限公司:实现品牌的更大价值!
成都市酷客焕学新媒体科技有限公司专注于短视频营销,深知短视频在社交媒体中的巨大影响力。该公司巧妙地将品牌信息融入富有创意和趣味性的内容中,使观众在轻松愉悦的氛围中接受并传播这些信息。凭借独特的创意和精准的营销策略,成都市酷客焕…...
nanoMODBUS:嵌入式系统轻量级Modbus通信库的5大创新与实战指南
nanoMODBUS:嵌入式系统轻量级Modbus通信库的5大创新与实战指南 【免费下载链接】nanoMODBUS A compact MODBUS RTU/TCP C library for embedded/microcontrollers 项目地址: https://gitcode.com/gh_mirrors/na/nanoMODBUS nanoMODBUS是一个专为嵌入式系统设…...
初创公司如何通过Taotoken统一管理多个AI模型的调用与开销
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创公司如何通过Taotoken统一管理多个AI模型的调用与开销 对于资源有限的初创技术团队而言,在产品中集成多种AI能力是…...
百度网盘Mac版性能优化:深入解析macOS逆向工程技术实践
百度网盘Mac版性能优化:深入解析macOS逆向工程技术实践 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 百度网盘Mac版性能优化工具是一款基…...
BLE心率监测服务开发:从GATT协议到CCCD通知机制的完整实现
1. 项目概述如果你正在开发一款智能手环、心率带或者任何需要实时上报生理数据的可穿戴设备,那么蓝牙低功耗(BLE)的心率监测服务(Heart Rate Service, HRS)几乎是你绕不开的核心功能。这个看似标准的服务,其…...
3个技巧让Clipy彻底改变你的macOS剪贴板使用体验
3个技巧让Clipy彻底改变你的macOS剪贴板使用体验 【免费下载链接】Clipy Clipboard extension app for macOS. 项目地址: https://gitcode.com/gh_mirrors/cl/Clipy 你是不是经常遇到这样的情况:刚刚复制了一段重要信息,又复制了其他内容…...
照片换背景底色在线制作免费?试试这些工具,让你的证件照和商品图焕然一新
最近有个粉丝问我,"为什么我的证件照总是背景不理想?"我才意识到,很多人对照片换背景底色这事儿还挺纠结的。要么去影楼花钱重拍,要么自己P图,折腾半天还是不满意。其实啊,现在有了免费的在线工具…...
如何高效下载B站4K视频:bilibili-downloader实用指南
如何高效下载B站4K视频:bilibili-downloader实用指南 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 对于B站深度用户而言…...
点云配准避坑指南:当ICP把深度图配到‘中心’时,我的自适应阈值调整方案
点云配准避坑指南:动态阈值优化解决ICP中心化失效问题 在三维重建和SLAM项目中,工程师们常常会遇到一个令人头疼的现象:使用标准ICP算法对深度图点云进行配准时,点云会神秘地"滑向"彼此的中心位置。这种看似魔法的行为背…...
魔兽争霸3性能优化与界面修复:三步实现流畅游戏体验
魔兽争霸3性能优化与界面修复:三步实现流畅游戏体验 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3的卡顿、界面异常和功…...
城通网盘直连解析工具:3分钟告别限速烦恼
城通网盘直连解析工具:3分钟告别限速烦恼 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘那令人抓狂的下载速度而苦恼吗?每次下载大文件都要面对漫长的等待倒计时…...
