pycharm remote debug

换工做了很久没写blog了,堕落了,哈哈,发现了好的东西分享一下,和之前使用的pycharm的远程debug相比,更为方便,原理同步本地和远程的代码,加载远程的环境运行,使用本地的代码+远程的环境,方便快捷,比http://blog.csdn.net/rogerjava/article/details/13095043要方便不少,哈哈,不用每次更新本身的Ip地址等等,很少说啦,又矫情了,看下面,牛逼的大神能够用这个pdb命令行更简单http://www.blogjava.net/stone2083/archive/2013/03/21/396812.html

转载:https://www.xncoding.com/2016/05/26/python/pycharm-remote.html

使用PyCharm进行远程开发和调试

你是否常常要在Windows 7或MAC OS X上面开发Python或Web应用程序,可是它们最后须要在linux上面来运行呢? 咱们常常会碰到开发时没有问题可是到了正式的Linux环境下面却出现问题。那么怎样保证开发环境跟运行环境的一致呢?html

一般有两种方法解决。一种是使用PyCharm内置支持的Vagrant,这个教程能够参考Vagrant开发环境配置。 不过很遗憾的是我本身在试验过程当中启动VirtualBox虚拟机时候总是报错,暂时还没解决,读者能够本身试着测试看行不行。 第二种方式就是经过PyCharm的远程解释器加上文件同步功能,实现本地编辑代码->同步到服务器->经过远程debug来调试测试程序。目前我选择的是第二种,虽然比第一种更笨拙点。java

远程调试的功能在Eclipse、IntelliJ IDEA等大型IDE中均有支持,实现原理都基本相同,这里采用PyCharm进行说明。python

远程服务器的同步配置

远程服务器IP地址192.168.203.95,开启ssh服务,安装python版本2.7。我用一个在PyCharm里面的core-python项目来作演示。linux

首先咱们须要配置PyCharm通服务器的代码同步,打开Tools | Deployment | Configurationgit

点击左边的“+”添加一个部署配置,输入名字,类型选SFTPgithub

肯定以后,再配置远程服务器的ip、端口、用户名和密码。root path是文件上传的根目录,注意这个目录必须用户名有权限建立文件。web

而后配置映射,local path是你的工程目录,就是须要将本地这个目录同步到服务器上面,我填的是项目根目录。 Deploy path on server 这里填写相对于root path的目录,下面那个web path不用管先django

若是你还有一些文件或文件夹不想同步,那么在配置对话框的第三个tab页“Excluded path”里面添加便可,可同时指定本地和远程。服务器

还有一个设置,打开Tools | Deployment | Options,将”Create Empty directories”打上勾,要是指定的文件夹不存在,会自动建立。ssh

上传和下载文件

有几种方法能够实现本地和远程文件的同步,手动和当文件保存后自动触发。这里我选择了手动,由于自动触发好比影响性能,PyCharm会卡,感受不爽。

手动上传方式很简单,选择须要同步的文件或文件夹,而后选择 Tools | Deployment | Upload to sftp(这个是刚刚配置的部署名称)

下载文件也是同样,选择 Tools | Deployment | Download from sftp

比较远程和本地文件

有时候你并不肯定远程和本地版本的彻底一致,须要去比较看看。PyCharm提供了对比视图来为你解决这个问题。

选择Tools | Deployment | Browse Remote Host,打开远程文件视图,在右侧窗口就能看到远程主机中的文件

选择一个你想要对比的文件夹,点击右键->Sync with Local,打开同步对比窗口,使用左右箭头来同步内容。

上面是服务器与本地对比,那么本地文件通服务器对比,就先在PyCharm里面选择文件或文件夹,而后右键->Deployment->Sync with deployed to便可

PyCharm远程调试

在PyCharm中进行远程调试有两种选择:

  1. 使用远程的解释器
  2. 使用Python调试服务器

这里简单起见我只演示第一种,使用远程解释器,也就是使用服务器上面安装的python解释器。

配置远程Python解释器

选择File | Settings,选择Project | Project Interpreter,而后在右边,点击那个小齿轮设置,以下

而后点击”Add Remote”,填写主机的ssh配置

若是以前配置过SFTP的话就直接选“Deployment configuration”,而后选择刚刚的模板名称就能够了,因为我上面配置过就直接选模板, 这里请仔细看个人Python解释器是虚拟环境virtualenv,这个要在服务器上面先建立好虚拟环境。

开始调试

完成以后选择这个远程的解释器做为工程的解释器便可,而后配置一个运行实例,打断点调试。 这里我以另一个django工程为例来讲明,名字为zspace,由于用一个web工程来讲明更具表明性。

选择“Run/Debug Configuration”,添加一个“Django server”,而后配置像下面这样写请注意图中标出的几个点,具体什么意思就不用多解释了吧,^_^

而后你就能够像本地调试同样打断点作调试了。这个步骤太简单就不截图了,记得修改源码后同步到服务器继续下一次的调试。

相关文章
相关标签/搜索