1. 確定已經安裝并enable如下插件:SSH Remote Run, Vagrant, Docker Integration。
操作如下:File -> Settings -> Plugins -> Installed
2. 總共有四種遠端解釋器配置方式,此處選擇使用SSH的配置。其它三種配置見https://www.jetbrains.com/help/idea/configuring-remote-python-sdks.html
Tools -> Deployment -> Configuration
+ -> SFTP -> New server name (此處名字可以任意填寫,本人填寫為‘gll’)
3. 配置connection
- Type: SFTP (預設)
- Host: 遠端伺服器的IP位址或者域名
- username: 登入伺服器時的使用者名
- password: 登入伺服器時的密碼
- Root Path: 在伺服器上的根目錄(例如:/home/gaoll)
- Web Server URL: 可以不用填寫,會自動生成
- 點選“Test Connection”,得到下圖
4. 配置Mappings
- Local path: project的本地路徑
- Deployment path: project的遠端伺服器路徑
(此處需要注意的是:Local path是絕對路徑,Deployment path是相對于上步Root path的路徑)
5. 配置同步檔案的方式
Tools-> Deployment -> Configuration -> Options,其中有三種選擇,通常選擇中間項
此時,Tools-> Deployment -> Automatic Upload 會顯示選擇的上傳方式
6. Tools->start ssh session可以使用ssh
7. 若Pycharm仍沒有成功連接配接到遠端伺服器,則進行如下操作:
- File-> Setting ->
->Project: PROJECT_NAME
Project Interpreter
SSH Interpreter
- 檢測Project Interpreter的下拉清單,若存在遠端伺服器所用的python解釋器,選擇此解釋器;否則,點選下拉表後面的'設定' -> 'Add', 添加新的遠端解釋器:
- Add操作:若存在伺服器配置選擇下面的'Existing server configuration',否則選擇上面 'New server configuration' (本人選擇下面選項,第一步建立的Server name為gll)。然後點選'Next'
Pycharm 遠端解釋器的配置 - 接下來,選擇Interpreter的路徑時,需要首先确定在遠端伺服器中使用的Python解釋器。一般伺服器上會安裝至少兩個版本的Python,檢視自己賬号下python腳本運作時使用的python解釋器,并選擇此python解釋器所在的路徑為Interpreter的路徑。 我們可以通過兩個指令來檢視伺服器安裝多少個Python解釋器以及我們自己使用的是哪個Python解釋器:
Pycharm 遠端解釋器的配置 - whereis python:檢視伺服器安裝的所有Python解釋器的路徑
- which python:顯示我們自己使用的Python解釋器路徑 (此為Interpreter的路徑)
PS:若修改本地codes,按Ctrl+S未同步到伺服器時,需要重新檢視下?Tools->Deployment->Configure下的Connection與Mappings是否被篡改。
PS:若經過上述檢測仍未同步成功,檢測是否将設定的configuration設定為預設。若沒有正确設定預設configuration,可在Deployment視窗下點選“configuration 名稱”與“對勾”來切換不同的預設配置
PS:若在本地建立一個檔案(夾),需要首先手動Upload to遠端伺服器,之後可使用“Ctrl+S”進行快捷修改儲存
PS:若同步仍未成功,可以嘗試Tool -> Deployment -> Up to,或者右擊檔案,點選“Deployment-->Upload to ...”,手動選擇上傳的伺服器
參考: https://www.jianshu.com/p/5f0b885c67e4
https://blog.csdn.net/zhangjipinggom/article/details/83787975
https://blog.csdn.net/zhaihaifei/article/details/53691873
https://jingyan.baidu.com/article/da1091fb6cb6bc027849d6d8.html
https://www.jetbrains.com/help/idea/configuring-remote-python-sdks.html
抄自于:http://blog.sciencenet.cn/home.php?mod=space&uid=1969089&do=blog&id=1191163
"一勞永逸" 的話,有是有的,而 "一勞永逸" 的事卻極少