我如何启动vs 远程调试试与PyCharm

pycharm需要专业版
使用远程解释器
使用远程调试器
使用远程解释器
默认情况下我们在本地开发Python程序时,使用的是本地的Python解释器,如果你安装了virtualenv或者pyenv的话,还可以选择这些虚拟环境。而使用Pycharm的专业版,则还可以选择使用远程Linux机器上的解释器。下面就来介绍下使用远程解释器的步骤。
远程部署配置
远程部署主要用于本地代码与远程服务器上的代码进行同步,使得的本地代码在经过修改后,可以很容易的同步到远程服务器上。因为只有本地代码和远程服务器上的代码一致时,才能正确使用远程解释器进行调试。
(当然你可以使用其它的同步方法,甚至是自己手动复制,但推荐这种最方便的方式)
打开Pycharm
选择Tools -& Deployment -& Configuration..
点击+添加一个新的Deployment配置
在Connection的Tab设置基本信息
通过高级选项配置文件字符编码
在Mappings的Tab设置映射关系
在Excluded Path设置不同步哪些文件
最后点击OK确定
远程解释器配置
远程部署仅仅只是同步和拷贝文件,而真正支持远程调试的则是远程解释器。具体配置如下:
拷贝本地Pycharm安装目录下的helpers目录中的所有文件
上传到远程服务器的登录用户home目录下。如:使用的是root用户,则拷贝至/root/.pycharm_helpers目录下
在Pycharm中选择File -& Settings -& Project:xxx -& Project Interpreter -& Add Remote
在打开的窗口中填入相应信息,并确定
选择使用远程解释器
远程调试使用
确保本地代码的改动已经同步到远程的服务器
在Pycharm中对指定的代码打断点
使用debug模式启动代码
访问远程服务器上的程序(如:远程服务是一个web服务,则需要访问远程的web访问地址)
本地debug生效
使用远程调试器
https://blog.jetbrains.com/pycharm/2013/03/how-pycharm-helps-you-with-remote-development/
阅读(...) 评论()python使用PyCharm进行远程开发和调试
转载 &更新时间:日 16:26:26 & 作者:老司儿
这篇文章主要介绍了python使用PyCharm进行远程开发和调试,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是就在想,要是可以在服务器环境中进行单步跟踪调试就好了。
然而,在服务器系统上安装一个IDE肯定是不现实的;通过SSH远程到服务器端,采用pdb进行调试虽然可行,但是操作还是较为繁琐,而且也不够直观。
那么,是否可以将开发环境中的IDE与服务器环境相连,实现利用开发环境的IDE调试服务器环境中运行的程序呢? 答案是肯定的,这就是远程调试(Remote Debug)。
远程调试的工作原理
远程调试的功能在Eclipse、IntelliJ IDEA等大型IDE中均有支持,实现原理都基本相同,这里采用PyCharm进行说明。
在远程调试的模式下,PyCharm(IDE)扮演服务端(Server)的角色,而运行在远程计算机上的应用程序扮演客户端(Client)的角色。正因如此,进行远程调试时,需要先在本地开发环境中设定端口并启动IDE,IDE会对设定的端口开始监听,等待客户端的连接请求;那远程计算机中的应用程序又是怎样与IDE建立通讯连接的呢?
针对远程调试功能,PyCharm提供了pydevd模块,该模块以pycharm-debug.egg的形式存在于PyCharm的安装路径中。远程计算机安装该库文件后,然后就可以调用pydevd.settrace方法,该方法会指定IDE所在机器的IP地址和监听的端口号,用于与IDE建立连接;建立连接后,便可在IDE中对远程在远程计算机中的程序进行单步调试。
使用PyCharm进行远程开发和调试
你是否经常要在Windows 7或MAC OS X上面开发Python或Web应用程序,但是它们最后需要在linux上面来运行呢? 我们经常会碰到开发时没有问题但是到了正式的Linux环境下面却出现问题。那么怎样保证开发环境跟运行环境的一致呢?
通常有两种方法解决。一种是使用PyCharm内置支持的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”,然后配置像下面这样写
请注意图中标出的几个点,具体什么意思就不用多解释了吧,^_^
然后你就可以像本地调试一样打断点做调试了。这个步骤太简单就不截图了,记得修改源码后同步到服务器继续下一次的调试。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具pycharm远程调试配置
1. 安装pycharm-debug.egg
pycharm要实现远程调试,需要安装远程调试需要的安装包pycham-debug.egg(如果是python3,该文件为pycharm-debug-py3k.egg),通常位于pycharm安装目录下的”debug-eggs/”目录下。将该egg包拷贝到远程linux服务器上,使用easy_install来安装该包:
easy_install pycharm-debug.egg
2. 本地机器的配置
Run -& Edit Configurations
Add New Configuration -& Python Remote Debug
填写Local host name和Port,其中Local host name指的是本机开发环境的IP地址,而Port则随便填写一个10000以上的即可;需要注意的是,由于远程计算机需要连接至本地开发环境,因此本地IP地址应该保证远程可以访问得到
3. 远程计算机的代码配置
在远程需要调试的代码中插入如下代码:
import pydevd
pydevd.settrace('10.214.161.179', port=10000, stdoutToServer=True, stderrToServer=True)
其中,IP地址和端口号要与PyCharm中的监听配置保持一致。
3. pycharm远程调试的原理
在远程调试的模式下,PyCharm(IDE)扮演服务端(Server)的角色,而运行在远程计算机上的应用程序扮演客户端(Client)的角色。正因如此,进行远程调试时,需要先在本地开发环境中设定端口并启动IDE,IDE会对设定的端口开始监听,等待客户端的连接请求;
针对远程调试功能,PyCharm提供了pydevd模块,该模块以pycharm-debug.egg的形式存在于PyCharm的安装路径中。远程计算机安装该库文件后,然后就可以调用pydevd.settrace方法,该方法会指定IDE所在机器的IP地址和监听的端口号,用于与IDE建立连接;建立连接后,便可在IDE中对远程在远程计算机中的程序进行单步调试。
没有更多推荐了,pycharm 如何远程调用另一台 server 里的 docker 里的 Python ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
pycharm 如何远程调用另一台 server 里的 docker 里的 Python ?
· 57 天前 · 562 次点击
如果直接通过 ssh 远程调用 server 里的 python,没有问题。
但是调用 server 里的 docker 里的 python,就会提示 Couldn't connect to console process.
docker 里 ssh 的 22 端口已经暴露出来了,可以通过 ssh 从我本地电脑访问,例如 ssh -p 32800 user-in-docker@server。
似乎是 pycharm 远程调式时,除了 ssh 的 22 还需要别的端口,所以才会出问题?
请问有人知道怎么解决么?多谢。
7 回复 &| &直到
11:09:59 +08:00
& &57 天前
Couldn't connect to console process.
这是本地 pycharm 调用 docker 里 python 的结果?
对 pycharm 这么依赖?不用它好多年了。
& &57 天前 via Android
& &57 天前
嗯,这个是本地 pycharm 调用 docker 里 python 的结果。pycharm 通过 ssh 连到 docker 里的 python 没问题,用 pycharm 在 docker 里装第三方库都没问题,但 python 却打不开。。
你用什么 IDE ?
似乎这个是 docker 在本地的情况吧?不是在 server 里
& &57 天前 via Android
你可能需要打开 server docker 的 2375 端口
expose daemon tcp port
& &57 天前
ssh -p 32800 user-in-docker@server
端口改成了 32800 么?
& &57 天前
我在 pycharm 里设置的直接用 ssh 连接 docker 里的 python,并没有通过 docker 的 api,所以感觉似乎和 2375 应该没关系。
我加上这句试了 expose daemon tcp port,还是 Couldn't connect to console process。
我感觉可能是因为 pycharm 远程调试的时候,即使通过 ssh 方式连接,它还是需要打开别的端口来和本地通信。但具体不知道是哪些端口,如果知道的话可以映射一下,如果是随机的,就砸了。
server 的 32800 映射到 docker 的 22 了,从本地用 ssh 可以连接到 docker 里去。
& &56 天前
@ 没有你这么复杂严格的场景和需求,用 vscode。
& · & 2066 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 17ms · UTC 00:48 · PVG 08:48 · LAX 17:48 · JFK 20:48? Do have faith in what you're doing.&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
用pycharm远程单步调试
摘要:配置远程(就在本地调试的同学可以跳过这步)1.菜单-&Tools-&Deployment-&Configuration我这个pycharm是已经配置完的,有些菜单是亮的,所以请不要纠结为啥有点不一样,点那个Configuration就可以了2.打开之后,填写配置SFTPhost就是远程主机的IP地址,为了安全,我把我的ip改了下。配置的英文意思差不多都明白,说明下Rootpath是指远程的根目录,设成用户的那个home目录就可以了,我这边使用root登的,所
配置远程(就在本地调试的同学可以跳过这步)
1.菜单-&Tools-&Deployment-&Configuration
我这个pycharm是已经配置完的,有些菜单是亮的,所以请不要纠结为啥有点不一样,点那个Configuration就可以了
2.打开之后,填写配置
SFTP host 就是远程主机的IP地址,为了安全,我把我的ip改了下。配置的英文意思差不多都明白,说明下Root path是指远程的根目录,设成用户的那个home目录就可以了,我这边使用root登的,所以用/root
选择Mappings选项卡
local path不用动,这个是本地的项目目录。下面两个照抄就可以了。
上传文件点击根文件,右键如果账号密码都正确就开始上传文件
最后一点配置打开自动上传,这样在调试的时候不会因为代码不一致产生疑问
点击弹出窗口之后
然后配置参数配置下划出来的三个参数Script是celery执行命令的位置。第二个参数就是命令后面跟的参数,和执行的时候是一样的第三个就是python解释器,记得选远程的3.0以上的版本
开始调试就俩步骤(在代码里打上断点就能单步调试了)
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
邮箱低至5折
推荐购买再奖现金,最高25%
&200元/3月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
用pycharm远程单步调试相关信息,包括
的信息,所有用pycharm远程单步调试相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International

我要回帖

更多关于 vs 远程调试 的文章

 

随机推荐