Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Pycharm 实现远程部署和调试,原来这么简单

Pycharm 实现远程部署和调试,原来这么简单

作者头像
吾非同
发布于 2020-12-07 03:38:28
发布于 2020-12-07 03:38:28
1.7K411
代码可运行
举报
文章被收录于专栏:吾非同吾非同
运行总次数:11
代码可运行

一般代码本地调试完成后,需要运行到服务器上,比如自动化测试脚本、爬虫脚本等,所以第一步需要将项目上传到服务器,然后在服务器上进行调试和运行。

但是需要长期维护和开发的项目,这样就繁琐了很多,并且我们时常要维护多个测试或者开发环境,每个环境的Python版本和依赖包有可能还存在差异,这样的话,每次更新需要花费的时间就更多了。

其实,很多的编辑器都考虑到这个问题,可以实现远程调试,比如Pycharm、Vscode等。

Pycharm可以进行远程部署项目(上传和下载),还可以通过配置远程解释器进行远程调试。

注意:只有PyCharm专业版才具有远程调试功能,社区版不具有该功能哦~

PyCharm连接远程服务器

1.在顶部菜单中选择Tools>Deployment>Configuration

2.在弹出的窗口,点击+,选择SFTP

填写服务器名称,点击ok

3.在connection窗口填写服务器IP、账号、密码,完成后点击Test Connection,测试连接是否成功。

Root path:远程连接的根目录

4.进入Mappings,设置文件映射,输入本地项目录以及远程目录,点击apply之后,配置就完成了。

远程目录是Root path的相对路径,如果Root path写成/这里就是绝对路径。

5.完成上面的配置后,Pycharm就相当于一个ftp工具,可以查看和修改服务器上的文件及目录。你可以通过Tools > Deplotment > Browse Remote Host来打开相应的RemoteHost面板,可以看到服务器上的文件,显示的范围是Connection选项卡下配置的Root path路径下的目录。可以右键这些文件进行删除、权限修改等操作。

6.上传下载功能

本地修改完代码后,点击Tools>Deployment,根据第4步配置的文件映射,点击Upload to进行文件上传到远程服务器(可以配置多个服务器进行选择),也可以点击Download from下载服务器文上的文件(可以配置多个服务器进行选择)。

配置远程解释器

1.进入 File -> Settings -> Project Interpreter,点击右上角Add

2.在窗口中,选择SSH Interpreter,填写配置信息:服务器Host地址、端口号Port,用户名Username,点击下一步,填写服务器密码password。

3.点击Next,填写服务器上Python解释器的位置,服务器上的远程同步文件夹Sync folders。

如果不知道服务器上Python安装在哪,可以使用命令 which python 找到Python的安装位置

4.在 File -> Settings -> Project Interpreter中选择配置的远程解释器,自动加载服务器上Python的依赖库,可以在pycharm上进行远程安装卸载更新。

5.完成解释器配置后,运行项目,可以看到Python Console 中出现远程解释器的版本及交互信息。

往期推荐

2020 最烂密码 TOP 200 大曝光!

Python 常用的GUI框架都有哪些

Python调用系统命令的六种方法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吾非同 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
4 条评论
热度
最新
些得真好
些得真好
回复回复3举报
有几个好像写错字了 1.3 本节最后~非阻塞,末尾处应该是“这个过程叫做非阻塞式读写。” 1.4.2 开头,应该是“在 Java NIO 中,Channel 是一个顶层接口” 2.2.2 开头,应该是“单 Reactor 多线程模式的基本形态如下“ 2.9 Promise 的描述,应该是”Promise 继承了 Future“
有几个好像写错字了 1.3 本节最后~非阻塞,末尾处应该是“这个过程叫做非阻塞式读写。” 1.4.2 开头,应该是“在 Java NIO 中,Channel 是一个顶层接口” 2.2.2 开头,应该是“单 Reactor 多线程模式的基本形态如下“ 2.9 Promise 的描述,应该是”Promise 继承了 Future“
回复回复2举报
还有后面的两篇文章呢
还有后面的两篇文章呢
回复回复点赞举报
受益匪浅
受益匪浅
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
史诗级最强教科书式“NIO与Netty编程”
java.nio全称java non-blocking IO,是指JDK1.4开始提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,也被称为NIO(既New IO),新增了许多用于处理输入输出的类,这些类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写,新增类满足NIO的功能。 NIO和BIO有着相同的目的和作用,但是它们的实现方式完全不同,BIO以流的方式处理数据,而NIO以块的方式处理数据,块I/O的效率比流I/O高很多。另外,NIO是非阻塞式的,这一点跟BIO也很不相同,使用它可以提供非阻塞式的高伸缩性网络。 NIO主要有三大核心部分 :Channel(通道),Buffer(缓冲区),Selector(选择器)。传统的BIO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如 :连接打开,数据到达)。因此使用单个线程就可以监听多个数据管道。
海仔
2019/08/26
9400
史诗级最强教科书式“NIO与Netty编程”
详细图解Netty Reactor启动全流程 | 万字长文 | 多图预警
大家先不要惊慌,问题不大,本文笔者的目的就是要让大家清晰的理解这幅流程图,从而深刻的理解Netty Reactor的启动全流程,包括其中涉及到的各种代码设计实现细节。
bin的技术小屋
2022/07/22
1.3K0
详细图解Netty Reactor启动全流程 | 万字长文 | 多图预警
Netty Review - 核心组件扫盲
如果Handler处理器有一些长时间的业务处理,可以交给taskQueue异步处理。
小小工匠
2023/11/15
5120
Netty Review - 核心组件扫盲
Netty之旅二:口口相传的高性能Netty到底是什么?
高清思维导图原件(xmind/pdf/jpg)可以关注公众号:一枝花算不算浪漫 回复netty01即可。
一枝花算不算浪漫
2020/08/25
8030
Netty之旅二:口口相传的高性能Netty到底是什么?
超详细Netty入门,看这篇就够了!
本文主要讲述Netty框架的一些特性以及重要组件,希望看完之后能对Netty框架有一个比较直观的感受,希望能帮助读者快速入门Netty,减少一些弯路。
java技术爱好者
2020/09/22
1.6K0
超详细Netty入门,看这篇就够了!
【Netty】Netty 入门案例分析 ( Netty 模型解析 | Netty 服务器端代码 | Netty 客户端代码 )
① NioEventLoopGroup 线程池使用场景 : Netty 模型中的 BossGroup 和 WorkerGroup 都是 NioEventLoopGroup 类型的线程池 ;
韩曙亮
2023/03/27
2.2K0
【Netty】Netty 入门案例分析 ( Netty 模型解析 | Netty 服务器端代码 | Netty 客户端代码 )
Netty框架
Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序。
全栈程序员站长
2022/07/22
3700
Netty框架
Netty - 回顾Netty高性能原理和框架架构解析
Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。
小小工匠
2023/11/12
2.2K0
Netty - 回顾Netty高性能原理和框架架构解析
Netty 应用与原理
在 I/O 操作中有这么两组概念,其中同步/异步 要和线程中的同步线程/异步线程要区分开,这里指的是同步IO / 异步IO
浪漫主义狗
2024/04/27
2600
Netty 应用与原理
netty源码解析
同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。
张伦聪zhangluncong
2022/10/26
5910
netty源码解析
Java网络编程--Netty入门
Netty是一个高性能,高可扩展性的异步事件驱动的网络应用程序框架,它极大的简化了TCP和UDP客户端和服务器端网络开发。它是一个NIO框架,对Java NIO进行了良好的封装。作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。
CodingDiray
2019/09/25
5660
Java网络编程--Netty入门
Netty 线程模型与基本使用
Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能和高伸缩性的服务器和客户端。Netty 拥有高性能,吞吐量更高,延迟更低,减少资源消耗,最小化不必要的内存复制等优点。
Se7en258
2021/05/18
1.1K0
Netty 线程模型与基本使用
2025春招,Netty面试题汇总
>大家好,我是 V 哥。2025年春招Java 面试,肯定绕不开 Netty 的相关问题,V哥替大家跟几位大厂技术主管交流后,整理的一些 2025 年可能会遇到的 Netty 面试题,涵盖基础概念、核心组件、性能优化、故障排查等方面,分享给大家,收藏起来备用。
威哥爱编程
2025/02/05
1600
java架构之路-(netty专题)netty的基本使用和netty聊天室
  上次博客,我们主要说了我们的IO模型,BIO同步阻塞,NIO同步非阻塞,AIO基于NIO二次封装的异步非阻塞,最重要的就是我们的NIO,脑海中应该有NIO的模型图。
小菜的不能再菜
2020/02/23
1.3K0
高性能通讯框架——Netty
编程复杂,缓冲区Buffer要考虑读写指针切换。而Netty把它封装之后,进行优化并提供了一个易于操作的使用模式和接口,因此Netty就被广泛使用于通信框架。
IT大咖说
2021/04/08
7370
Netty入门篇
2、Netty简介: netty是一个异步的,基于事件驱动的网络应用框架。可以快速地开发高性能的服务器端和客户端,像dubbo和elasticsearch底层都用了netty。它具有以下优点:
贪挽懒月
2020/07/28
8690
Netty入门篇
netty源码分析之三Bootstrap初始化
可以看到childGroup也就是group方法传入的workerGroup是赋值给ServerBootstrap的childGroup属性的。我们进入 super.group(parentGroup)也就是io.netty.bootstrap.AbstractBootstrap#group(io.netty.channel.EventLoopGroup):
山行AI
2019/10/24
1.3K0
Netty 入门,这一篇文章就够了
netty旨在为可维护的高性能、高可扩展性协议服务器和客户端的快速开发提供异步事件驱动的网络应用程序框架和工具。换句话说,Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器开发等网络编程。
luoxn28
2019/11/07
5140
Netty 入门,这一篇文章就够了
Java IO,NIO以及Netty网络编程
同步阻塞I/O模式:当一条线程执行 read() 或者 write() 方法时,这条线程会一直阻塞直到读取一些数据或者写出去的数据已经全部写出,在这期间这条线程不能做任何其他的事情。在活动连接数不是特别高(小于单机1000)的情况下,这种模型是比较不错的,可以让每一个连接专注于自己的 I/O 并且编程模型简单,也不用过多考虑系统的过载、限流等问题。
AnieaLanie
2021/12/11
7770
Netty一文深入
通过2个位置指针来协助缓冲区的读写,读使用 readerIndex,写使用 writerIndex。
趣学程序-shaofeer
2020/07/17
7900
Netty一文深入
相关推荐
史诗级最强教科书式“NIO与Netty编程”
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验