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

摘要:
一种是使用PyCharm支持的Vagrant。本教程可以参考Vagrant开发环境配置。第二种方法是使用PyCharm的远程解释器和文件同步功能在本地编辑代码-˃同步到服务器-˃通过远程调试调试测试程序。Eclipse和IntelliJIDEA等大型IDE支持远程调试功能,实现原理基本相同。这里使用PyCharm来描述它。我使用PyCharm中的一个核心python项目进行演示。PyCharm提供了一个对比视图来解决这个问题。

http://blog.csdn.net/ll641058431/article/details/53049453
使用PyCharm进行远程开发和调试

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

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

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

远程服务器的同步配置

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

首先我们需要配置PyCharm通服务器的代码同步,打开Tools | Deployment | Configuration

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

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

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

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

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

上传和下载文件

有几种方法可以实现本地和远程文件的同步,手动和当文件保存后自动触发。这里我选择了手动,因为自动触发比如影响性能,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中进行远程调试有两种选择:

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

配置远程Python解释器

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

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

如果之前配置过SFTP的话就直接选“Deployment configuration”,然后选择刚刚的模板名称就可以了,由于我上面配置过就直接选模板, 这里请仔细看我的Python解释器是虚拟环境virtualenv,这个要在服务器上面先创建好虚拟环境。

开始调试

完成之后选择这个远程的解释器作为工程的解释器即可,然后配置一个运行实例,打断点调试。 这里我以另外一个django工程为例来说明,名字为zspace,因为用一个web工程来说明更具代表性。

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

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

免责声明:文章转载自《使用PyCharm进行远程开发和调试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇js Math方法说明linux添加zabbix service并开机自动启动下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转载】 Visual Studio Code几款FTP插件使用总结

===================================================== 平时要维护类似wordpress这样的网站,然后虚拟主机又不支持远程仓的版本管理。总而言之,只能通过下载到本地修改后再通过FTP上传的情况,每次修改后都要开启FTP进行代码提交,相当繁琐。因此就诞生了一些编辑器的FTP插件,其实以前用sublime...

使用mkdocs撰写技术文档并免费部署上线

提示 本文演示使用的Python解释器版本为3.6.8;操作系统为MacOS。 另外本人在实际使用中出现过一个问题:如果同一个Github项目既在Mac端又在Windows端编写本地文档与yml配置文件的话展示出来的页面会有问题!所以强烈建议大家同一个在线文档项目使用相同的操作系统平台编写,避免不必要的bug出现。 安装mkdocs模块 pip3 inst...

python电脑结构、ARP协议、单位转换、字节bytes、字符串与字节关系等知识总结

目录 一、计算机五大部件 二、程序运行的过程 三、ARP协议 四、单位转换 五、数据类型:字节bytes 六、字符串和字节的关系 一.计算机五大部件 电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备、输出设备、存储器、运算器和控制器。 我们把键盘和鼠标叫输入设备。 输入设备: 向电脑输入数据和信息的设备。除了键盘。除了键盘鼠标,其他输入设备还包括触...

Python心得基础篇【5】模块

模块,用一砣代码实现了某个功能的代码集合。  类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。 如:os 是系统相关的模块;file是文件操作相关的模块 模块分为三...

python 脚本检测python 版本

通过sys 模块的sys_info可以返回当前python 的版本信息, 其返回值是一个元组, 比如(2, 6, 6, 'final', 0); 表示当前版本为2.6.6 , 我们可以利用这个变量的值判断python版本; #!/usr/bin/python import sys if sys.version_info < (2, 7):...

python初识(二)

目录: 进制 基本数据类型 整形 布尔值 字符串 列表 元祖 字典 集合 range & enumerate 一、进制   二进制转换十进制计算:   十进制:==47   一个字节公式:==128 64 32 16 8 4 2 1   二进制: == 0    0   1   0 1 1 1 1   1、二进制(0b):      a....