作为一个从java转到python的程序猿,一直觉得python的远程代码调试能力不如java,远程调试一把需要各种改代码,牵扯到eventlet库的时候,问题就更严重,需要调整eventlet的各种配置,算了还是不用远程调试了,太麻烦。

返璞归真,直接用日志输出打出想要的变量,但是改了本地代码,再上传到服务器运行调试,流程也不够便利,没办法本人太懒。

后来发现Pycharm本身就提供了一个Deployment工具,可以直接整合上述流程,将本地代码和服务器代码做一个映射,然后修改本地代码时,自动或手动上传服务器同步,然后通过Pycharm的SSH Terminal重启进程验证。

好了,废话少说,来看看怎么配置:

1、菜单->Tools->Deployment->Configuration

2、添加需要连接的服务器,填入ip,用户名和密码,我用的是SFTP协议

3、配置代码映射,例如将本地的keystone代码,映射到环境上的keystone安装目录/usr/lib64/python2.6/site-packages/keystone

4、配置自动上传修改的文件

菜单->Tools->Deployment->Options,将“Upload changed files automatically to the default server”改为 “On explicit save action”,然后你每次Ctrl+s的时候,修改的代码就自动上传了

5、运行SSH Terminal,Deployment配置好之后,直接运行SSH Terminal,就可以在Pycharm中,开一个SSH终端,直接重启进程、看日志啥的,很方便

Pycharm的远程代码编辑的更多相关文章

  1. PyCharm 配置远程python解释器和在本地修改服务器代码

    PyCharm 配置远程python解释器和在本地修改服务器代码 最近在学习机器学习的过程中,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行.之前的做法一直是先在本地写好代码,然后通过F ...

  2. Pycharm实现服务器端代码的远程调试

     Pycharm是很多人在学习机器学习时的常用IDE.但是,当代码需要庞大计算资源的时候,我们往往需要借助远程服务器的GPU资源.很多人都是将代码拷贝到服务器,然后运行,但是当修改调试的时候,很不方便 ...

  3. 使用PyCharm实现远程编写并调试代码

    使用PyCharm实现远程编写并调试代码 版权声明:本文为博主原创文章,转载请注明出https://www.cnblogs.com/wenqiangit/p/9771947.html 因为工作中使用的 ...

  4. 如何用pycharm 控制远程服务器来跑代码!!!!!!!!!!!!非常牛逼

    2019-09-04,10点58 想弄一个pycharm的插件,就是用deployment同步代码的时候,在pycharm里面运行代码,的时候本机不动,而是远程服务器运行,然后把结果返回!!!!!!挺 ...

  5. PyCharm进行远程开发和调试linux服务器

    简介: 或许我也应该迁移到linux环境去开发. 最近写的一些小东西,在wnidows上开发,在windows上调试,都很正常.可是一旦放进linux服务器,就歇菜了. 那么我们有什么办法处理这个wi ...

  6. 使用pycharm调试远程服务器上的程序

    一.PyCharm实现远程调试代码 1. 和远程服务器建立连接,tools àDeploymentàConfiguration 2. 点击“+”号,按照远程服务器信息配置信息 点击“Advanced ...

  7. Pycharm同步远程服务器调试

    Pycharm同步远程服务器调试 1.需要准备工具 xftp:上传项目文件 xshell:连接Linux系统调试,执行命令 PyCharm:调试python代码 这些软件可以自行网上搜索下载,也可以关 ...

  8. Adobe Dreamweaver代码编辑

    Adobe Dreamweaver 同义词 DW(Adobe Dreamweaver的缩写)一般指Adobe Dreamweaver Adobe Dreamweaver,简称“DW”,中文名称 &qu ...

  9. Openstack Pycharm 的远程调试

    问题背景 最近再研究openstack cinder api的时候遇到了个问题:使用命令行调用API的时候,使用domain的token时,会产生一个错误,但是通过cinder的api都无法确定产生错 ...

随机推荐

  1. persisted? vs new_record?

    https://joe11051105.gitbooks.io/you-need-to-know-about-ruby-on-rails/content/activerecord/persisted_ ...

  2. linux mint console-setup

    sudo dpkg-reconfigure console-setup after setup, setupcon

  3. c的详细学习(7)指针学习(一)

    指针是c语言的一个重要概念,指针类型是c语言最有特色的数据类型: *利用指针编写的程序可使调用函数共享变量或数据结构,实现双向数据通信: *可以实现内存空间的动态存储分配:可以提高程序的编译效率和执行 ...

  4. Linux初识(命令, 文件, 系统管理)

    Linux初识(命令, 文件) 文件系统 在Linux系统下,没有驱动器磁盘,只有一个根目录 / ,所有的文件都在根目录下面. 相关文件夹介绍 bin : 程序相关 boot : 开机启动相关 cdr ...

  5. Linux Shell文件差集

    file1-file2 => file3file1=/data/aaafile2=/data/bbbfile3=/data/cccsort -m <(sort $file1 | uniq) ...

  6. BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊:分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 题意: 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆 ...

  7. BZOJ 3626 [LNOI2014]LCA:树剖 + 差分 + 离线【将深度转化成点权之和】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3626 题意: 给出一个n个节点的有根树(编号为0到n-1,根节点为0,n <= 50 ...

  8. Javascript 模块化编程 --RequireJs

    什么是模块化 模块就是实现特定功能的一组方法,常见的几种js写法 原始写法 function A() { } function B() { } 上面函数A()和B()组成一个模块,使用的时候直接调用就 ...

  9. DELPHI线程例子-FC

    {优秀的数据库应用应当充分考虑数据库访问的速度问题.通常可以通过优化数据库.优化 查询语句.分页查询等途径收到明显的效果.即使是这样,也不可避免地会在查询时闪现一个带有 SQL符号的沙漏,即鼠标变成了 ...

  10. node.js redis对事务的控制

    redis对事务的支持还是比较差的,就是把所有的执行命令方到队列中一个一个执行 multi开启一个事务,exec执行事务集合中的命令 代码: var redisClient; redisClient. ...