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'
-
接下來,選擇Interpreter的路徑時,需要首先確定在遠程服務器中使用的Python解釋器。一般服務器上會安裝至少兩個版本的Python,查看自己賬號下python腳本運行時使用的python解釋器,並選擇此python解釋器所在的路徑為Interpreter的路徑。
我們可以通過兩個命令來查看服務器安裝多少個Python解釋器以及我們自己使用的是哪個Python解釋器:
-
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