如何使用固定公网地址远程连接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 …...
成都市酷客焕学新媒体科技有限公司:实现品牌的更大价值!
成都市酷客焕学新媒体科技有限公司专注于短视频营销,深知短视频在社交媒体中的巨大影响力。该公司巧妙地将品牌信息融入富有创意和趣味性的内容中,使观众在轻松愉悦的氛围中接受并传播这些信息。凭借独特的创意和精准的营销策略,成都市酷客焕…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
