大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
这阵子组内流行使用 Django 写管理端程序。大家习惯了在 Windows 上使用 PyCharm 等 IDE 快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了 Linux 上的 Python 接口,因此必须在 Linux 上运行 Django 程序。值得庆幸的是,大多数的 IDE 都提供了远程调试功能, PyCharm 也可以经过简单配置进行远程调试。
场景
- 一台装有 PyCharm (这里使用的是 PyCharm 3.4) 的 Windows / Mac 机器
- 一台装有 Python 2.7 的 Linux 机器,可以与 Windows 机器相互通信,将会用来执行 Django 程序
配置远程 Python 解释器
在 PyCharm 中打开 Python 解释器的设置面板,路径为 File => Settings (Ctrl+Alt+S) => Python Interpreter:
-
点击右上角齿轮,Add Remote,填写 SSH 相关的设置
-
点击 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:
如果你发现你的运行配置中没有 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 指南相对比较繁琐,并没有仔细尝试,如果你发现有更好的办法进行远程调试请告知我。
这个时候就可以打打断点试试能不能调试啦~~
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),这个配置默认是打开的。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/175187.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...