Pycharm中進行Python遠端開發

2022-05-18 11:19:08 字數 3810 閱讀 9965

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,都有乙個整合的偵錯程式。要開啟偵錯程式視...