pycharm提供兩種遠端除錯(remote debugging)的方式:
配置遠端的直譯器(remote interpreter)
配置python除錯伺服器(python debug server)[配置python除錯伺服器]
本文主要說明遠端的直譯器(remote interpreter)的配置。
皮皮blog
pycharm 通過 sftp 遠端編輯專案的配置
開啟pycharm,file -> settings…( ctrl + alt + s ) -> deployment
點選 + 按鈕,新增乙個
設定連線
設定好ip、埠、使用者名稱、密碼, root path:/home/piting/mine/python_workspace, 就是開啟remote host時候看到的運程主機的根目錄。
note: root path 如/home/piting/mine/python_workspace這個路徑要在遠端伺服器上存在,否則並不會自動建立和同步。
路徑的解釋:
右擊專案名稱,可以看到下拉列表中多了一些選項,可以都試試,同步到遠端伺服器,這樣就可以在本地開發,在linux上執行了,非常方便
deployment相關設定
設定自動上傳
每次都要去點選上傳,雖然比較有選擇性,但畢竟還是不方便,所以設定了自動上傳
tools > deployment > automatic upload(always)
檢視遠端目錄
tools > deployment > browse remote host
皮皮blog
pycharm 遠端除錯
尤其是對於 windows 的機器除錯 linux 伺服器端的程式。如果你是在 windows 上使用 pycharm 等 ide 快速方便地進行開發,但是由於管理端使用了一些公司的公共元件,而這些元件又只提供了 linux 上的 python 介面,因此必須在 linux 上執行 django 程式。值得慶幸的是,大多數的 ide 都提供了遠端除錯功能, pycharm 也可以經過簡單配置進行遠端除錯。
配置遠端 python 直譯器
lz使用anaconda在伺服器上搭建了乙個python開發環境。因為沒有root許可權問題。
或者也可以使用python virtualenv搭建的虛擬開發環境,所以是先將ubuntu_env配置好的env上傳到伺服器上scp -r ./ubuntu_env/ [email protected]:/home/pipi/env[ssh用法及命令 ],再修路徑實現python在伺服器上的配置的[python虛擬環境virtualenv安裝和配置 ]。
在 pycharm 中開啟 python 直譯器的設定面板,路徑為 file => settings (ctrl+alt+s) => python interpreter:
點選右上角齒輪,add remote,填寫 ssh 相關的設定
做完後可能需要等一些時間。這個過程中 pycharm 會將一些工具和除錯 server 發到你配置的 .pycharm_helper 目錄中,並且對機器上已經安裝的庫類生成 skeletons,並傳回 windows 上進行儲存。python skeletons 是一些包括庫類 api 定義的檔案,用來給 pycharm 做**靜態分析。jetbrains 的幫助文件提供了更詳細的說明,參見 important note 一節。
最後,你需要在直譯器設定面板,選中 remote interpreter 做為專案的預設直譯器。
配置部署資訊
在 pycharm 中開啟部署的設定面板,路徑為 tool => deployment => configuration。
type 建議選擇 sftp,常見的 openssh server 提供了這種協議的支援。
配置好部署面板後,建議把自動同步開啟 (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。
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
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),這個配置預設是開啟的。
皮皮blog
出錯問題
pycharm channel is not opened
pycharm不能同步deployment中設定的檔案內容了,在remote host視窗中開啟檔案提示the file is identical to local但實際上完全不同,上傳多次才能成功,或者乾脆就提示channel is not opened。應該和sftp有關。
目前還沒找到具體原因,可能是伺服器問題,過會就自己好了。
[can't download from remote server via sftp – jetbrains intellij]
pandas出錯
pycharm console import pandas backend qt4agg is interactive backend. turning interactive mode on. : cannot connect to x server
import pandas : cannot connect to x server
重啟pycharm,或者也不知道怎麼了就好了,不報錯了。。。
執行出錯
ssh: -u /home/piting/mine/python_workspace/oth/competition/tianchi/regression.py
/home/piting/env/anaconda3/bin/python3: can't open file '/home/piting/mine/python_workspace/oth/competition/tianchi/regression.py': [errno 2] no such file or directory
點出remote host標籤,發現沒有這個目錄,目錄下也沒有這個檔案
解決:mkdir -p **目錄
再在remote host中右鍵 》 upload here
pycharm中進行python包管理
pycharm中的專案中可以包含package 目錄 目錄名可以有空格 等等。目錄的某個包中的某個py檔案要呼叫另乙個py檔案中的函式,首先要將目錄設定為source root,這樣才能從包中至上至上正確引入函式,否則怎麼引入都出錯 systemerror parent module not loa...
Makefile中進行巨集定義
實際上是gcc命令支援 d巨集定義,相當於c中的全域性 define gcc d name gcc d name definition makefile中可以定義變數 和巨集很像 但是是給make直譯器用的,對所編譯的檔案完全沒有作用。mstar 巨集定義方式 字串定義方式和值定義方式 cc tvo...
在VBA中進行除錯
只要從您的專案中觸發 vba就會執行。從簡單的開啟表單到單擊命令按鈕,各種各樣的物件事件都可能引起這種情況。當某些事情無法按預期工作時,您如何才能準確確定出什麼問題以及在 好吧,這就是本文可以為您提供的幫助。對於每個office應用程式,當然包括access,都有乙個整合的偵錯程式。要開啟偵錯程式視...