如何远程调试Python代码

这是一篇小记。

平时使用python写的代码对外部依赖性都不复杂,这些代码在本地调试,运行没问题之后,就可以放到生产去跑了。然而,最近的一个项目,由于使用了一些内部服务,需要连接到内部的环境进行调试。
如果每次都修改代码之后,发布一次到内部环境运行测试,这样子操作流程略显繁琐了。于是乎,我就查阅了一些资料,发现我平时使用的Pycharm可以提供代码远程调试的功能,正好也可以解决我的问题。

首先来说一说代码远程调试。顾名思义,代码远程调试就是让我们可以在本地对远端的代码进行运行和输出日志检查,从而根据运行和日志情况,对代码进行修改,再重复这个过程,直到代码满足需求。
通常情况,我们需要手动去更新代码到远端,这个过程比较繁琐。而Pycharm提供了一个Deployment的功能,它将我们的本地代码和指定远端服务器代码做了映射。所有对本地代码产生的变化,都会自动或手动更新到远端服务器上,然后我们通过Pycharm自带的Terminal就可以进行代码运行和日志检阅了。

下面,来看看如何配置Pycharm的Deployment功能。

一、打开Deployment配置菜单

菜单栏==>Tools==>Deployment==>Configuration

wKioL1ch3m6wPMPtAAK8kol0DBg426.jpg

二、配置远端服务器

1、增加远端服务器

点击+号添加新的Server,在Name栏填入自定义名称,在Type栏选择代码同步的类型,默认是FTP,我们这里使用SFTP类型。

wKiom1ch3bOBmtwVAAFk7E2i0fg746.jpg

2、配置连接信息

添加Server之后,在新的配置页面填写红色指针指向的服务器连接信息。注意Root path填写的是你代码同步的相对根目录。

wKiom1ch3cGCTtsGAAKLdE_x1UI478.jpg

3、配置目录映射信息

Local path框为你本地的项目代码目录
Deployment path on server 'test'框为代码在远程服务器的代码目录

wKioL1ch3p_Cp78DAAIHsuId-8A524.jpg

三、配置变更文件自动同步

菜单栏==>Tools==>Deployment==>Options

wKioL1ch3q-Bhsh8AAK5Ij3t7MY298.jpg


将配置项Upload changed files automatically to the default server选择为On explicit save action,这样子每次我们按command+s的时候,修改的代码就可以自动同步到远端了。

wKiom1ch3fHhSfYrAANfqGMulUQ729.jpg

四、使用SSH Terminal

经过如上的配置,Deployment功能就已经配置完毕了,代码已经可以自动同步到远端了。此时,我们可以使用SSH Terminal,进行进程启动和日志检阅。
菜单栏==>Tools==>Deployment==>Start SSH Session

wKiom1ch3gDyk2CWAALd37xoRPU562.jpg


在弹出的选框中,选择你需要连接的远端服务器。

wKioL1ch3tuR9bfLAADk30ua0tI756.jpg

到此,我们的python代码的远程调试功能就已经设置好了。


本文出自 “Not Only Linux” 博客,请务必保留此出处http://nolinux.blog.51cto.com/4824967/1768708

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
一 环境搭建 首先是常规的spring mvc环境搭建,不用多说,需要注意的是,这里需要引入 jackson 相关jar包,然后在spring配置文件“springmvc-servlet.xml”中添加json解析相关配置,我这里的完整代码如下: ?xmlversion="1.0"encoding="UTF-8"?beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSche
由于view需要在域环境中,于是用户配置文件的集中管理就成了一个绕不过的话题,尤其是使用了linkclone模式的虚拟桌面,如果在创建过程中没有启用persistent磁盘存放用户配置文件,那么后期无论是recompose、refresh、rebalance都会导致用户配置文件的丢失,针对用户配置文件可选用vmware的viewPM策略或微软的用户配置漫游,下面就两种方法做详细的说明。 vmwarePM策略 1.我们去vmware网站下载他的策略模板 2.在要集中存放用户配置的文件服务器或NAS存储上新建
一、LVS集群常见架构图 Load Balancer层:位于整个集群系统的最前端,由一台或多台负载调度器(Director Server)组成。LVS核心模板IPVS就安装在Director Server上,而Director的主要作用类似于一个路由器,它含有为完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server)。同时,在Director Server上还要安装对Real Server的监控模块Ldirectord,此模块用于监测各
在Linux里,很多人都会使用到邮件报警,而且这方面的软件也众多,常见的像SendMail,sendEmail,Postfix等等,它们的优缺点我就不说了,使用上也各有所爱。今天我要给大家介绍的mutt,也许大家也不陌生,网上太多关于mutt和sendmail或者跟msmtp合作使用的教程。其实,mutt非常的强大只要你仔细研究一下官方文档(链接http://www.mutt.org/doc/manual)系统环境:CentOS6.5在正式安装mutt之前,先检查一下2个安全组件。OPENSSL:open
一、环境介绍 接到通知,要求网站由http改为使用https,目前我的网站前端架构如下图所示: 假设我们有两台物理机,每台物理机上面有很多的tomcat容器,前端使用的是haproxy进行的http层负载均衡,再前端我们使用了LVS负载均衡,整个LVS使用的是DR模型。 刚开始我打算把tomcat改成https,设置成之后再设置haproxy的时候,发现haproxy不能再使用负载均衡了,因为SSL是在第四层的,所以这个方案就结束了,下面我就尝试在haproxy层设定SSL,到后端还使用普通的连接。 二、
Apache Httpd负载均衡Tomcat并实现Session Sticky和Session Cluster 大纲 前言 实验拓扑 实验步骤 安装配置tomcat 安装配置Apache Httpd并测试 实现session sticky 实现Session Cluster 总结 前言 上篇文章我们介绍如何构建一个 LANMT 平台并搭建一个 jspxcms , 这次我们介绍使用 apache httpd 负载均衡 Tomcat 并实现 Session Sticky 和 Session Cluster 实
简介 Oliver运维管理系统是本博主自主开发的首款运维管理系统,在学习python的过程中一直想尝试开发一款属于自己的运维管理系统,但由于水平有限,时间又不太多就只能慢慢摸索,也是一边摸索一边开发,其间修改了无数次,请教了无数次开发同事,最终于今年4月份成形,目前已经应用于生产环境。由于水平有限,有些功能还不尽完善,后续会逐步改进,目前已经开源出来放到github上提供下载,希望这款软件能够帮到那些刚开始学习python运维开发的小伙伴,也算为Oliver打个小广告。 下载: git clone htt
Oracle Study之-AIX6.1构建Oracle 11gR2 RAC(2) 一、修改系统内核参数 [root@aix209 app]#chdev -l sys0 -a ncargs=256 sys0 changed [root@aix209 app]#lsattr -El sys0 -a ncargs ncargs 256 ARG/ENV list size in 4K byte blocks True [root@aix209 app]#vmo -p -o minperm%=3 Setting

归来吧,haproxy - 2016-04-25 15:04:10

担心的事情,终于来了。小弟要走,怎么留也留不住,没办法啊,活还得继续干,于是又只好挽起袖子,打开securecrt,执行一行又一行的命令。 这两天,接到一个任务,需要部署一套负载均衡,经过讨论和权衡,决定使用haproxy + keepalived。 通常的套路是: (1)浏览器访问软件网站( www.haproxy.org); (2)记录下软件包下载的url; (3)登录服务器系统,用wget url下载包; (4)解包、安装、配置... 哪知道进行到第一步的事后,就卡住了,熟悉而恼人的场景出现在眼前。
公司app(安卓)应用扩展ios平台(安卓客户端已经运行一年),由于ios自带emoji表情字符集,api会出现问题,mysql数据库更换utf8mb4,原字符集utf8。 utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节,而utf8mb4则扩展到一个字符最多能有4字节,所以能支持更多的字符集。 主要思想导出数据,重新建库插入数据 1.查看当前数据库是否支持utf8mb4(貌似版本低于5.5.3的不能用,没测试) mysqlshowcharsetlike'utf8