共计 2308 个字符,预计需要花费 6 分钟才能阅读完成。
个别状况下,咱们开发调试都是在集体 PC 上实现,遇到问题,开一下 Pycharm
的调试器,很快就能找到问题所在。
可有些时候,我的项目代码的运行会对运行环境有依赖,必须在部署了相干依赖组件的服务器上才能够运行,这就间接导致了咱们不能在本地进行调试。
对于这种非凡的场景,就我所知,有如下两种解决方案:
- pdb
- 近程调试
对于 pdb,之前也写过专门的文章介绍应用办法,你能够点此查看:无图形界面的代码调试办法 – pdb
而近程调试呢,是让咱们能够在咱们在 PC 上用 PyCharm 的图形化界面来进行调试远方服务器上代码,它和本地调试没有太大的区别,原来怎么调试的当初还是怎么调试。
区别就在于,本地调试不须要事先配置,只有你的代码筹备好了,随时能够开始 Debug,而近程调试呢,须要不少前置步骤,这也正是本篇文章的内容,教你如何配置近程调试环境。
1. 新建一个我的项目
首先,要在 Pycharm 中新建一个空的我的项目,前面咱们拉服务器上的我的项目代码就会搁置在这个我的项目目录下。我这边的名字是 NOVA,你能够本人定义。
2. 配置连贯服务器
Tools -> Deployment -> configuration
增加一个Server
- Name:填你的服务器的 IP
- Type:设定为 SFTP
点击 OK
后,进入如下界面,你能够按我的备注,填写信息:
- SFTP host:公网 ip
- Port:服务器凋谢的 ssh 端口
- Root path:你要调试的我的项目代码目录
- Username:你登陆服务器所用的用户
- Auth type:登陆类型,若用明码登陆的就是 Password
- Password:选明码登陆后,这边输出你的登陆密码,能够抉择保留明码。
这里请留神,要确保你的电脑能够 ssh 连贯到你的服务器,不论是密钥登陆还是明码登陆,如果开启了白名单限度要先解除。
填写实现后,切换到 Mappings
选项卡,在箭头地位,填写\
以上服务器信息配置,全副正确填写实现后,点击OK
接下来,咱们要连贯近程服务器了。
Tools -> Deployment -> Browse Remote Host
3. 下载我的项目代码
如果之前填写的服务器登陆信息准确无误的话,当初就能够看到近程的我的项目代码。
抉择下载近程代码要本地。
下载实现提醒。
当初的 IDE 界面应该是这样子的。
4. 下载近程解释器
为什么须要这步呢?
近程调试是在远端的服务器上运行的,它除了依赖其余组件之外,还会有一些很多 Python 依赖包咱们本地并没有。
进入 File -> Settings
按图示,增加近程解释器。
填写近程服务器信息,跟之前的一样,不再赘述。
点击 OK
后,会主动下载近程解释器。如果你的我的项目比拟大,这个工夫可能会比拟久,请急躁期待。
5. 添加程序入口
因为咱们要在本地 DEBUG,所以你肯定要晓得你的我的项目的入口程序。如果这个入口程序曾经蕴含在你的我的项目代码中,那么请略过这一步。
如果没有,就请本人生成入口程序。
比方,我这边的我的项目,在服务器上是以一个服务运行的。而咱们都晓得服务的入口是Service 文件
。cat /usr/lib/systemd/system/openstack-nova-compute.service
[Unit]
Description=OpenStack Nova Compute Server
After=syslog.target network.target libvirtd.service
[Service]
Environment=LIBGUESTFS_ATTACH_METHOD=appliance
Type=notify
NotifyAccess=all
TimeoutStartSec=0
Restart=always
User=nova
ExecStart=/usr/bin/nova-compute
[Install]
WantedBy=multi-user.target
看到那个 ExecStart
没有?那个就是咱们程序的入口。
咱们只有将其拷贝至咱们的 Pycharm 中,并向近程同步该文件。
6. 调试前设置
开启代码主动同步,这样,咱们对代码的批改 Pycharm 都能辨认,并且为咱们提交到近程服务器。
开启 Gevent compatible
,如果不开启,在调试过程中,很可能呈现无奈调试,或者无奈追踪 / 查看变量等问题。
7. 开始调试代码
在你的程序入口文件处,点击右键,抉择 Debug 即可。
如果你的程序入口,须要引入参数,这是常常有的事,能够的这里配置。
配置完点击保留即可。
8. 情谊揭示
依照文章的试调试代码,会主动同步代码至远端,千万不要在生产环境应用,肯定要在开发环境中应用,否则后果自负。
调试工具给了程序员提供了很大的便当,但还是心愿你不要适度依赖。尽量在每次写代码的时候,都谋求一次成型,进步本人的编码能力。
文章最初给大家介绍三个我本人写的在线文档:
第一个文档:PyCharm 中文指南 1.0 文档
花了两个多月的工夫,整顿了 100 个 PyCharm 的应用技巧,为了让老手可能间接上手,我花了很多的工夫录制了上百张 GIF 动图,有趣味的返回在线文档浏览。
第二个文档:PyCharm 黑魔法指南 1.0 文档
零碎收录各种 Python 冷门常识,Python Shell 的多样玩法,令人疯狂的 Python 炫技操作,Python 的超具体进阶常识解读,十分实用的 Python 开发技巧等。
第三个文档:Python 中文指南 1.0 文档
花了三个月工夫写的一本 适宜零根底入门 Python 的全中文教程,搭配大量的代码案例,让初学者对 代码的运作成果有一个直观感触,教程既有深度又有广度,每篇文章都会标内容的难度,是根底还是进阶的,可供读者进行抉择,是一本难得的 Python 中文电子教程。