PyCharm利用pydevd-pycharm實現(xiàn)Python遠程調試的詳細過程
一、介紹
Python遠程調試,即在遠程機器上運行python代碼在本地進行調試,之前文章里的方式方法已經(jīng)out,現(xiàn)在更新為當前版本已經(jīng)成功實現(xiàn)遠程調試的新內容。
依賴環(huán)境:
- 本地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這個配置,且圖標無正常狀態(tài),如果上述配置項有誤,則會展示打紅叉標記的圖標,比如配置錯誤的端口號。
3.2 Ubuntu端配置
遠程環(huán)境需要的配置主要是修改被調試的代碼文件,在代碼中增加相關配置:
- 被調試代碼文件:/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.啟動成功,會出現(xiàn)等待連接的提示信息:

3.此時,我們需要在Ubuntu端,啟動被調試的代碼:python3 super2.py,運行成功后Ubuntu端不會里面執(zhí)行代碼,需要等待遠程PyCharm端開始調試過程,才會執(zhí)行代碼并打印結果,而PyCharm端會在Console下展示連接成功的提示:Connected to pydev debugger (build 221.5921.27)

4.此時我們會看到PyCharm彈出了一個提示,這個提示里的內容就是我們調試的是遠程文件,而本地沒有與之對應的文件,可以通過提示給出的三個解決方案進行解決,這里我選擇了:Download選項

5.最后開始執(zhí)行具體的調試即可:

到此這篇關于PyCharm利用pydevd-pycharm實現(xiàn)Python遠程調試的文章就介紹到這了,更多相關PyCharm實現(xiàn)Python遠程調試內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Python 多線程 Timer定時器/延遲執(zhí)行、Event事件
這篇文章主要介紹了Python 多線程 Timer定時器/延遲執(zhí)行、Event事件的相關知識,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06
python+selenium select下拉選擇框定位處理方法
今天小編就為大家分享一篇python+selenium select下拉選擇框定位處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python常見加密模塊用法分析【MD5,sha,crypt模塊】
這篇文章主要介紹了Python常見加密模塊用法,結合實例形式較為詳細的分析了MD5,sha與crypt模塊加密的相關實現(xiàn)方法與操作技巧,需要的朋友可以參考下2017-05-05

