配置遠程Python解釋器
選擇File-->Settings-->Project: xxxx-->Project Interpreter, (xxxx是項目根目錄), 然后在右邊, 點擊小齒輪設置, 點擊"Add Remote", 勾選SSH Credentials, 配置相關信息:
Host: IP
Port: 22
User name: test
Auth type: password # (Key, OpenSSH)
Password: *****
Project Interpreter path: /usr/bin/python
如果Project Interpreter path是使用的虛擬環境, 那么填寫虛擬環境路徑下的Python, 如/home/user/.envs/dev/bin/python. 同時選擇Python版本.
配置遠程服務器
配置連接
在工具欄點擊Tools-->Deployment-->Configuration..., 然后在新的窗口的左上角點擊+號, 新建一個連接.
輸入新的連接的名稱Name和類型Type(FTP、SFTP、FTPS、In place、Local or mounted folder), 例如:
Name: VirtualBox
Type: SFTP
點擊OK, 在連接詳細配置中的Upload/download project files下, 配置:
SFTP host: 127.0.0.1
Port: 6666
Root path: /home/user/workspace
User name: user
Auth type: password
Password: ******
SFTP host是遠程服務器的IP地址.
Port是SSH的端口.
Root path是項目文件上傳的路徑, 必須真實存在, PyCharm不會自動創建, 可以在配置好User name和Password后, 點擊Root path輸入框后的..., 手動選擇遠程服務器的目錄.
Auth type是驗證類型, 有password、Key pair(OpenSSH or PuTTY)、OpenSSH config and authentication agent.
推薦使用Key pair(OpenSSH or PuTTY), 使用Key需要先配置一些相關的信息, Windows上需要安裝Git, 以便使用自帶openssh的一些功能, 下載Git客戶端, 雙擊安裝. 這個網上有教程.
在Windows上和Linux上Git會自動處理換行符的問題, 但是這個在實際開發中會出現問題, 所以, 在Windows上使用提交時轉換為LF,檢出時不轉換功能, 統一使用Unix換行符(也可以在類Unix上啟用這個功能, 將拉取的沒有改變的換行符更換). 在打開安裝好的Git Bash, 輸入:
git config --global core.autocrlf input
含義:
AutoCRLF
# 提交時轉換為LF,檢出時轉換為CRLF
git config --global core.autocrlf true
# 提交時轉換為LF,檢出時不轉換
git config --global core.autocrlf input
# 提交檢出均不轉換
git config --global core.autocrlf false
SafeCRLF
# 拒絕提交包含混合換行符的文件
git config --global core.safecrlf true
# 允許提交包含混合換行符的文件
git config --global core.safecrlf false
# 提交包含混合換行符的文件時給出警告
git config --global core.safecrlf warn
生成Key, ssh-keygen -t rsa -C "your@email.com",
配置.gitconfig,
git config --global user.name "username"
git config --global user.email your@email.com
將本地生成的Key, 上傳到遠程服務器, 實現免密碼登錄, ssh-copy-id -p 6666 -i user@127.0.0.1
如果ssh的端口是22, 那么就需要指定-p, -p后跟着的是ssh修改的端口, user@127.0.0.1是遠程服務器的用戶名和IP.
配置完成后, 可以點擊SFTP host后的Test SFTP connection...測試連接是否成功, 如果顯示Successfully, 成功.
配置映射
在連接配置完成后, 還有一步重要的工作, 配置Mappings
點擊當前窗口的頂部的Mappings標簽,
Local path是遠程開發的項目的根目錄
Deployment path on server 'VirtualBox'是相對於Root path路徑的, 存放當前項目的根目錄下的所有文件, 默認是/, 可以在Root path路徑中新建一個目錄, 分別存放不同的項目.
Web path on server 'VirtualBox'不需要配置, 默認是/
例如:
Local path: C:\Users\user\Desktop\project
Deployment path on server 'VirtualBox': /project
Web path on server 'VirtualBox': /
同步文件
配置好全部信息后, 需要執行文件, 將本地項目的所有文件和修改, 上傳到遠程服務器.
Tools-->Deployment,
Upload to VirtualBox: 如果當前選中的是一個文件, 那么上傳這個文件到遠程服務器. 如果選中的是根目錄, 那么將整個項目上傳到遠程服務器.
Upload to: 如果有多個遠程配置, 那么這個可以選擇上傳到具體的遠程服務器.
Download from VirtualBox: 如果本地選擇的是一個文件, 那么就會從遠程復制文件到本地, 會詢問是否覆蓋本地文件(無論文件是否修改). 如果本地選擇的是目錄, 那么會一個文件一個文件的詢問是否覆蓋.
Download from : 選擇遠程服務器.
Compare with Deployed Version on VirtualBox: 對選中的文件和遠程服務器進行比較.
Compare with Deployed Version on : 選擇遠程服務器..
Sync with Deployed on VirtualBox: 與遠程服務器同步
Sync with Deployed on : 選擇遠程服務器.
