使用 PyCharm 远程调试 Django 程序「建议收藏」

使用 PyCharm 远程调试 Django 程序「建议收藏」这阵子组内流行使用Django写管理端程序。大家习惯了在Windows上使用PyCharm等IDE快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了Linux上的Python接口,因此必须在Linux上运行Django程序。值得庆幸的是,大多数的IDE都提供了远程调试功能,PyCharm也可以经过简单配置进行远程调试。场

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

这阵子组内流行使用 Django 写管理端程序。大家习惯了在 Windows 上使用 PyCharm 等 IDE 快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了 Linux 上的 Python 接口,因此必须在 Linux 上运行 Django 程序。值得庆幸的是,大多数的 IDE 都提供了远程调试功能, PyCharm 也可以经过简单配置进行远程调试。

场景

  1. 一台装有 PyCharm (这里使用的是 PyCharm 3.4) 的 Windows / Mac 机器
  2. 一台装有 Python 2.7 的 Linux 机器,可以与 Windows 机器相互通信,将会用来执行 Django 程序

配置远程 Python 解释器

  1. 在 PyCharm 中打开 Python 解释器的设置面板,路径为 File => Settings (Ctrl+Alt+S) => Python Interpreter:

    使用 PyCharm 远程调试 Django 程序「建议收藏」

  2. 点击右上角齿轮,Add Remote,填写 SSH 相关的设置

    使用 PyCharm 远程调试 Django 程序「建议收藏」

  3. 点击 OK

第 3 步做完后可能需要等一些时间。这个过程中 PyCharm 会将一些工具和调试 Server 发到你配置的 .pycharm_helper 目录中,并且对机器上已经安装的库类生成 skeletons,并传回 Windows 上进行保存。Python skeletons 是一些包括库类 API 定义的文件,用来给 PyCharm 做代码静态分析。JetBrains 的帮助文档提供了更详细的说明,参见 Important Note 一节。

最后,你需要在解释器设置面板,选中 Remote Interpreter 做为项目的默认解释器。

配置部署信息

在 PyCharm 中打开部署的设置面板,路径为 Tool => Deployment => Configuration。

这里的填写内容基本跟配置 Python 解释器一处类似。Type 建议选择 SFTP,常见的 OpenSSH Server 提供了这种协议的支持。

第二个 Tab (Mappings) 需要填写部署的路径,注意这个路径对应你项目的根目录,所以你很可能需要为它建一个空文件夹。勾选上 “Use this server as default”。除此之外还有个 Web path 的设置,应该是用来配置网页上查看文件的服务,可以无视。

配置好部署面板后,建议把自动同步开启 (Tool => Deployment => Automatics Upload(always)),这样在 PyCharm 中对文件进行修改,可以马上同步到 Linux 上。同时建议先做一次同步。同步可以通过很多方式完成,比如在 Project 面板 (Alt+1) 上对项目根目录右键 “Upload to”,也可以在菜单中上传 (Tool => Deployment => Upload to)。如果菜单中 Upload to 不可点击,请尝试打开项目的一个 py 文件,并把焦点放在编辑器中。

配置运行配置

在 PyCharm 中打开运行配置面板,路径为 Run => Run/Debug Configurations:

使用 PyCharm 远程调试 Django 程序「建议收藏」

如果你发现你的运行配置中没有 Django 相关的项,请在项目设置的 Django 中勾选 Enable Django Support。

运行配置的设置有两点需要注意。Python Interpreter 需要选中之前建立的远程解释器。Path mappings 处,需要把本机的 manage.py 与 Linux 上的关联起来,比如:

C:/Evolution/Python/django_website/manage.py <=> /home/onlyice/work/django_website/manage.py

这可能是 PyCharm 的 bug。在使用远程解释器后,PyCharm 并不会自动将 Django 运行配置中的 manage.py 文件定位到 Linux 上的那份,而是会尝试使用下面的命令来启动 Django 调试 Server:

/usr/bin/python2 manage.py C:/Evolution/Python/django_website/manage.py

自然就找不到文件了。所以使用了 Path mappings 作为一种 hack 手段来解决。

P.S. PyCharm 提供的 Remote Debugging 指南相对比较繁琐,并没有仔细尝试,如果你发现有更好的办法进行远程调试请告知我。

这个时候就可以打打断点试试能不能调试啦~~

使用 PyCharm 远程调试 Django 程序「建议收藏」

Trouble Shooting

Q: 点击调试运行失败,显示 “Cant set remote tunneling”

A: 调试时 PyCharm 调用将 Python Debug Server (pydevd.py) 绑定在一个随机端口上,再使用 SSH 的端口转发将数据通过 SSH 端口转到 Debug Server 去。需要检查你的 sshd 配置 (默认是 /etc/ssh/sshd_config) 是否禁用了 TCP 转发 (AllowTcpFowarding),这个配置默认是打开的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175187.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AT24C02的使用说明和完整代码-51单片机

    AT24C02的使用说明和完整代码-51单片机EEROM AT24C02 的使用说明和参考代码 at24c02 的原理及使用方法在其说明资料中已有充分的讲述 本篇仅对其使用的关键步骤进行罗列 以及说明一下具体的使用代码 at24c02 使用 iic 驱动 需要对其进行启动 停止 等待相应 写字节 读字节的操作 iic 启动

    2025年10月1日
    2
  • XML解析

    XML解析一、邂逅XML文件种类是丰富多彩的,XML作为众多文件类型的一种,经常被用于数据存储和传输。所以XML在现今应用程序中是非常流行的。本文主要讲Java解析和生成XML。用于不同平台、不同设备间的数据

    2022年6月30日
    28
  • Ubuntu 14.04 LTS系统中配置Apache2虚拟主机[通俗易懂]

    Ubuntu 14.04 LTS系统中配置Apache2虚拟主机[通俗易懂]在Ubuntu14.04LTS系统中设置Apache虚拟主机1.安装用下面命令来安装apache网络服务器:$sudoapt-getinstallapache22.检查是否安装成功安装apache服务器之后,让我们通过这个URLhttp://你的服务器的IP地址/来测试网站服务器是否正常工作如果出现“ItWorked!”的示例页,说明apache服务器已经开始工作了3.

    2022年9月18日
    4
  • Android UI设计

    Android UI设计UI概述1、在Android应用中,UI(UserInterface)界面是人与手机之间数据传递、交互信息的重要媒介和对话接中。2、Android程序开发最重要的一个环节就是界面处理,界面的美观度直接影响用户的第一印象,因此,开发一个整齐、美观的界面是至关重要的。3、Android应用的界面是由View和ViewGroup对象构建而成的。View类是Android系统平台上用户界面表示的基本单元,View的一些子类被统称为Widgets(工具),它们提供了诸如文本输入框和按钮之类的UI对象

    2022年6月29日
    27
  • kettle工具的介绍和使用

    kettle工具的介绍和使用kettle详解(数据抽取、转换、装载)原文地址链接:https://blog.csdn.net/qq_35731570/article/details/71123413文件资源库模式的调度命令:job:$kitchen路径-file=$job路径kitchen.sh-file=/opt/dpbs/kettlefile/pan_quality_indicator….

    2022年10月16日
    4
  • ntvicat激活码(注册激活)

    (ntvicat激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1M2OME2TZY-eyJsaWN…

    2022年4月2日
    88

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号