1. 程式人生 > >Python遠端除錯圖文教程(一)之Pycharm Remote Debug

Python遠端除錯圖文教程(一)之Pycharm Remote Debug

  • 新建一個工程

  • 連線遠端伺服器

  • 下載遠端程式碼

  • 下載遠端直譯器

  • 新增程式入口

  • 除錯前準備

  • 開始除錯程式碼

  • 其他友情提示

新建一個工程

我這邊的工程名是NOVA,請自行定義。

連線遠端伺服器

Tools -> Deployment -> configuration

新增一個Server
Name:請自行定義,我這裡填我伺服器的IP地址。
Type:請務必改成SFTP

點選OK後,進入如下介面,按我的備註,填寫資訊。

填寫完成後,切換到Mappings選項卡,在箭頭位置,填寫\

以上伺服器資訊配置,全部正確填寫完成後,點選OK

接下來,我們要連線遠端伺服器了。
Tools -> Deployment -> Browse Remote Host

下載遠端程式碼

如果之前填寫的伺服器登陸資訊準確無誤的話,現在就可以看到遠端的專案程式碼。

選擇下載遠端程式碼要本地。

下載完成提示。

現在的IDE介面應該是這樣子的。

下載遠端直譯器

進入 File -> Settings
按圖示,新增遠端直譯器。

填寫遠端伺服器資訊,跟之前的一樣,不再贅述。

點選OK後,會自動下載遠端直譯器。如果你的專案比較大,這個時間可能會比較久,請耐心等待。

新增程式入口

因為我們要在本地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中,並向遠端同步該檔案。

除錯前準備

開啟程式碼自動同步,這樣,我們對程式碼的修改Pycharm都能識別,並且為我們提交到遠端伺服器。

開啟Gevent compatible,如果不開啟,在除錯過程中,很可能出現無法除錯,或者無法追蹤/檢視變數等問題。
對於這個設定,官方解釋是這樣的,我沒有看懂。

If this checkbox is selected, the debugger will be compatible with the Gevent-monkeypatched code.

開始除錯程式碼

在你的程式入口檔案處,點選右鍵,選擇Debug即可。

如果你的程式入口,需要引入引數,這是經常有的事,可以的這裡配置。

配置完點選儲存即可。

其他友情提示

  • 除錯程式碼由於會自動同步程式碼,請不要在生產環境使用,一定要在開發環境中使用,否則後果自負。

  • 除錯雖好,但請不要過度依賴。儘量在每次寫程式碼的時候,都追求一次成型,提高自己的編碼能力。

首發於公眾號,掃碼關注獲取更多幹貨!


相關推薦

Python遠端除錯圖文教程Pycharm Remote Debug

新建一個工程連線遠端伺服器下載遠端程式碼下載遠端直譯器新增程式入口除錯前準備開始除錯程式碼其他友情提示. 新建一個工程我這邊的工程名是NOVA,請自行定義。. 連線遠端伺服器Tools -> Deployment -> configuration新增一個Server。Name:請自行定義,我這裡填

Python C/S 網路程式設計 三種方法實現天氣預報小程式

1. 首先明白下協議棧和庫的概念: 協議棧(Protocol Stack): 是指網路中各層協議的總和,其形象的反映了一個網路中檔案傳輸的過程:由上層協議到底層協議,再由底層協議到上層協議。 庫(Library):主要用來解析要使用的網路通訊協議,包含Python內建標準庫

Ocelot簡易教程Ocelot是什麼

Ocelot簡易教程目錄 Ocelot簡易教程(七)之配置檔案資料庫儲存外掛原始碼解析 簡單的說Ocelot是一個用.NET Core實現並且開源的API閘道器技術。 可能你又要問了,什麼是API閘道器技術呢?Ocelot又有什麼特別呢?我們又該如何整合到我們的asp.net core程式中

資料探勘入門系列教程親和性分析

資料探勘入門系列教程(一)之親和性分析 教程系列簡介 系列地址:https://www.cnblogs.com/xiaohuiduan/category/1661541.html 該教程為入門教程,為博主學習資料探勘的學習路徑步驟。教程為入門教程,從最簡單的開始。使用的程式語言為Pytho

DQNDeep Q-learning入門教程強化學習介紹

## 什麼是強化學習? 強化學習(Reinforcement learning,簡稱RL)是和監督學習,非監督學習並列的第三種機器學習方法,如下圖示: ![](https://img2020.cnblogs.com/blog/1439869/202005/1439869-20200524021301122

python基礎教程

底層 技術分享 包括 什麽事 inpu 內容 很多 運算 下劃線   之所以選擇py交易有以下幾點:1、python是膠水語言(跨平臺),2、python無所不能(除了底層),3、python編寫方便(notepad++等文本編輯器就能搞事情),4、滲透方面很多腳本都是py

python3教程:關於python

來看此教程的或多或少都是對程式設計感興趣的。 計算機程式語言有很多種,比如java、JavaScript、C、C++、C#、php、python、html等等。 計算機程式設計按應用場景分為前端和後端。所謂前端便是我們平常所看到的的軟體包括你現在所看到的網頁都屬於前端,主要是作為給使用者

Python高階教程面向物件

Python 面向物件 Python從設計之初就已經是一門面向物件的語言,正因為如此,在Python中建立一個類和物件是很容易的。本章節我們將詳細介紹Python的面向物件程式設計。 如果你以前沒有接觸過面向物件的程式語言,那你可能需要先了解一些面嚮物件語言的一些基本特徵,在頭腦裡頭形

Python-matplotlib-入門教程-基礎圖表繪製

0.摘要 本教程主要介紹使用python第三方庫matplotlib繪製各種統計圖表,教程從簡單到複雜,逐步遞進。 本章主要介紹常見圖表的繪製方法,並以儘可能簡單的方式實現,主要以突出函式功能為目的,防止讀者被複雜的引數分散了注意力。鑑於函式的引數的相似性,讀者只需要知道引數的含義並結合he

Selenium Python 學習教程

安裝python 開啟 Python官網,找到“Download”, 在其下拉選單中選擇自己的平臺(Windows/Mac),一般的Linux平臺已經自帶的Python,所以不需要安裝,通過開啟“終端” ,輸入“python”命令來驗證。 如果你是第一次接觸Python,一定會迷惑Pyt

Python菜鳥教程-爬b站資料

BeautifulSoup 安裝BeautifulSoup pip install beautifulsoup4 安裝了python的同學應該都知道python的包管理工具pip,這裡就不贅述了。 切入點 爬網站主要還是找到一個ur

建站教程:本地如何遠端連線Linux伺服器

之前已經介紹了建站需要的VPS和域名的選擇(相關教程:建站應該選擇什麼伺服器,哪個國外VPS適合建站 & 建站應該選擇什麼域名服務商,哪家國外免備案域名服務商比較好)。買好VPS後,就需要在本機上連線上伺服器才能進行接下來的操作,相當於遠端桌面的作用。本文分Windo

Python 極簡教程前言

資料 減少 數據 pytho 小爬蟲 動手 爬蟲 基礎 什麽 現在 Python 用處很多,學的人也很多,其流行程度自不必說。但是很多人學 Python 的時候都遇到過問題,特別對於非計算機專業畢業的人來說。 現在的教程非常多,但是絕大部分對於初學者都不夠友好。很多教程為了

【譯】微軟的Python入門教程

Overview >概述 The series of videos on Channel 9 is designed to help get you up to speed on Python. If you're a beginning developer who's looking to add

Spring MVC新手教程

erp -s sil troy .html 解釋 rand rtu wire 直接幹貨 model 考慮給用戶展示什麽。關註支撐業務的信息構成。構建成模型。 control 調用業務邏輯產生合適的數據以及傳遞數據給視圖用於呈獻; view怎樣對數據進行布局,以

學習《selenium2自動化測試基於python》遇到的問題

pypi tools bsp sel dir python 解決方案 打不開 什麽 問題一: 通過cmd,用Python安裝setuptools時,報錯no module named ‘six‘等類似情況時,解決方案: 翻譯過來就是缺少SIX的模塊,直接到官網打開,下載

學習 MeteoInfo二次開發教程

mat 沒有 組件 資源管理 img 教程 layer 添加 bbs 來自氣象家園:http://bbs.06climate.com/forum.php?mod=viewthread&tid=6631 按照教程,沒有太大問題,有些是對c#操作不熟悉導致。 1.添加d

python數據類型

str pri 字符串 doc 但是 line cnblogs clas 對象類型 python3中主要有6種:數字、字符串、列表、元組、字典、集合。 數字類型包括:整形、浮點數、復數、布爾數,Python3中沒有long型。 按照使用中,可直接賦值即可。如: >&

netty開發教程

prot eventloop 操作 公司 大量 read readline 獲得 github Netty介紹 Netty is an asynchronous event-driven network application framework for

fullpage.js簡單教程

style 準備工作 iba 耐心 兼容性 css3 動畫 lin per orm 最近準備做一個全屏滾動的網頁,在網上搜了一堆教程,結果大多都是一些很籠統的使用方法,對我這種耐心不超過3秒的笨蛋來說,很晦澀很籠統,所以打算邊研究邊自己寫個教程,有什麽不懂的,我再回來翻看筆