PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

 更新时间:2022年09月09日 10:10:08   作者:二的平方  
这篇文章主要介绍了PyCharm利用pydevd-pycharm实现Python远程调试,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、介绍

Python远程调试,即在远程机器上运行python代码在本地进行调试,之前文章里的方式方法已经out,现在更新为当前版本已经成功实现远程调试的新内容。

依赖环境:

  • 本地Pycharm:PyCharm 2022.1.3(Professional Edition)
  • IP:192.168.30.111
  • 远程Ubuntu:VMware Ubuntu 20.04.03
  • IP:192.168.30.132

二、安装

远程主机安装:pydevd-pycharm库,且需要安装指定版本:

pip3 install pydevd-pycharm~=221.5921.27 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

三、配置

3.1 PyCharm端配置

1.点击PyCharm菜单栏:Edit Configurations

2.在Run/Debug Configurations中点击+加号按钮,在弹出列表中选择Python Debug Server

3.需要配置字段如下:

  • Name:ubuntu python
  • IDE host name:192.168.30.111
  • Port:2233

4.点击OK保存该配置

至此,本地端PyCharm配置完成,配置无误可以在菜单栏看到ubuntu python这个配置,且图标无正常状态,如果上述配置项有误,则会展示打红叉标记的图标,比如配置错误的端口号。

3.2 Ubuntu端配置

远程环境需要的配置主要是修改被调试的代码文件,在代码中增加相关配置:

  • 被调试代码文件:/home/test/super2.py
  • 需要增加的配置:
import pydevd_pycharm
pydevd_pycharm.settrace('192.168.30.111', port=2233, stdoutToServer=True, stderrToServer=True)

class A:
    def __init__(self):
        self.n = 2

    def add(self, m):
        print('self is {0} @A.add'.format(self))
        self.n += m
class B(A):
    def __init__(self):
        self.n = 3

    def add(self, m):
        print('self is {0} @B.add'.format(self))
        super().add(m)
        self.n += 3
b = B()
b.add(2)
print(b.n)

需要导入远程调试库,配置信息需要和PyCharm端配置的内容保持一致:

至此,远程被调试的代码需要的配置完成。

四、实际调试

1.在本地PyCharm端,打开调试服务,即点击菜单栏中ubuntu python后的Debug ubuntu python按钮:

2.启动成功,会出现等待连接的提示信息:

3.此时,我们需要在Ubuntu端,启动被调试的代码:python3 super2.py,运行成功后Ubuntu端不会里面执行代码,需要等待远程PyCharm端开始调试过程,才会执行代码并打印结果,而PyCharm端会在Console下展示连接成功的提示:Connected to pydev debugger (build 221.5921.27)

4.此时我们会看到PyCharm弹出了一个提示,这个提示里的内容就是我们调试的是远程文件,而本地没有与之对应的文件,可以通过提示给出的三个解决方案进行解决,这里我选择了:Download选项

5.最后开始执行具体的调试即可:

到此这篇关于PyCharm利用pydevd-pycharm实现Python远程调试的文章就介绍到这了,更多相关PyCharm实现Python远程调试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Numpy随机抽样的实现

    Numpy随机抽样的实现

    本文主要介绍了Numpy随机抽样的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python高手之路python处理excel文件(方法汇总)

    python高手之路python处理excel文件(方法汇总)

    用python来自动生成excel数据文件。python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块
    2016-01-01
  • wxPython实现画图板

    wxPython实现画图板

    这篇文章主要为大家详细介绍了wxPython实现画图板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Python代码中如何读取键盘录入的值

    Python代码中如何读取键盘录入的值

    在本篇文章里小编给大家分享的是关于Python代码中读取键盘录入值的方法,需要的朋友们可以参考下。
    2020-05-05
  • Python爬虫之PhantomJS和handless的使用详解

    Python爬虫之PhantomJS和handless的使用详解

    这篇文章主要介绍了Python爬虫之PhantomJS和handless的使用详解,PhantomJS是一个基于Webkit的headless浏览器,它会把网站加载到内存并使用webkit来编译解释执行页面上的JavaScript代码,由于不进行css和gui渲染、不展示图形界面,需要的朋友可以参考下
    2023-09-09
  • 利用python汇总统计多张Excel

    利用python汇总统计多张Excel

    这篇文章主要介绍了利用python汇总统计多张Excel,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • pycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码是一个可以轻松帮助用户免费激活pycharm2021.1软件的文件,虽然说pycharm现在只是推出了2021.1的EAP版,但是如果你想先率先体验一波,那么就可以利用小编提供的这个激活码来进行使用啦,并这个激活码是永久有效的
    2021-03-03
  • Python实现的数据结构与算法之双端队列详解

    Python实现的数据结构与算法之双端队列详解

    这篇文章主要介绍了Python实现的数据结构与算法之双端队列,详细讲述了双端队列的概念、功能、定义及Python实现与使用双端队列的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 与Django结合利用模型对上传图片预测的实例详解

    与Django结合利用模型对上传图片预测的实例详解

    今天小编就为大家分享一篇与Django结合利用模型对上传图片预测详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Pytorch可视化的几种实现方法

    Pytorch可视化的几种实现方法

    本文主要介绍了Pytorch可视化,主要介绍了3中使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06

最新评论