前言
宿主機:Win7,PyCharm 2018.3.1(Professional Edition)
虛擬機:VirtualBox,Ubuntu 18.04.1 LTS,Anaconda 5.3.1,conda創建的Python 3.6虛擬環境selenium_3.6_demo
目的:PyCharm使用selenium_3.6_demo的解釋器調試Win7上的代碼
一、Ubuntu配置ssh和sftp
1、查詢ssh版本。確保ssh的版本高於4.8p1,否則升級一下,一般都高於這個版本(搜索的網頁都這么說的,至少Ubuntu 18.04.1 LTS是高於這個)。
ssh -V
2、查詢openssh server是否已經安裝
dpkg -l | grep openssh
3、安裝openssh-server
sudo apt install openssh-server
4、創建用戶組(sftp-users可以自己命名)
sudo groupadd sftp-users
5、添加用戶
二選一:
1、添加一個admin的用戶(可選,因為已經有一個用戶了,所以沒有創建新的)
sudo useradd -g sftp-users -m admin
如果添加一個新的用戶,可以修改密碼
sudo passwd admin
2、將一個已經存在的用戶aaa加入sftp-users組中(為什么用的已經存在的用戶,因為一開始安裝Ubuntu時建立了一個用戶,anaconda和虛擬環境都裝在這個用戶目錄下)
sudo usermod -a -G sftp-users aaa
6、創建代碼存放目錄
1 cd /home/aaa/ 2 sudo mkdir upload
7、配置權限(這一部分一臉懵逼,有不同意見的可以指教)
1 sudo vi /etc/sysctl.conf 2 將注釋#去掉 3 net.ipv4.ip_forward=1 4 5 sudo vi /etc/ssh/sshd_config 6 將注釋#去掉或者改成yes no 7 AllowAgentForwarding yes 8 AllowTcpForwarding yes 9 GatewayPorts yes 10 X11Forwarding no 11 PermitTunnel yes 12 Subsystem sftp /usr/lib/openssh/sftp-server 13 14 簡單的vi命令 15 j:向下 16 k:向上 17 l:向右 18 h:向左 19 x:刪除一個字符 20 i:進入編輯模式 21 Esc:退出編輯模式 22 :wq:按Esc后輸入可以保存退出
配置權限這部分沒有考慮安全性,一切只為了PyCharm能遠程debug/run。
8、重啟
sudo reboot
只重啟ssh,我這里不好使。
9、補充
1、Win7和Ubuntu在一個局域網,都改靜態IP。
2、設置完了,可以用xshell驗證一下。
例如,Ubuntu的IP是192.168.1.100,輸入:
ssh aaa@192.168.1.100
然后在彈出的對話框中輸入密碼,如下提示表示連接成功。
aaa@aaa-VirtualBox:~$
上面是ssh還要測試sftp
sftp caoyu@192.168.1.100
然后在彈出的對話框中輸入密碼,如下提示表示連接成功。
sftp:/home/aaa>
參考:https://my.oschina.net/sallency/blog/784022
二、PyCharm配置
官方提供了兩種方式:Creating a deployment configuration for a remote interpreter,Remote debugging with the Python remote debug server configuration
方法一:Creating a deployment configuration for a remote interpreter
1、打開Deployment配置頁,菜單Tools | Deployment | Configuration...或者菜單File | Settings | Build, Execution, Deployment | Deployment
2、配置解釋器,菜單File | Settings | Project: youre_project | Project Interpreter,先點擊齒輪再點擊“Add...”
因為之前創建了Deployment,選Existing server configuration,第一次添加有兩個選項,選擇create就行了。
設置解釋器后,就可以Run/Debug了。
方法一:Remote debugging with the Python remote debug server configuration
1、菜單
目錄映射和之前添加解釋器一樣。
2、添加依賴,在demo.py中添加如下代碼。拷貝pycharm-debug-py3k.egg到項目seleniu_demo目錄下,pycharm-debug-py3k.egg在PyCharm\debug-eggs目錄下,Python2用沒有py3k的那個。
1 import sys 2 sys.path.append("pycharm-debug-py3k.egg") 3 import pydevd 4 pydevd.settrace('192.168.1.2', port=22222, stdoutToServer=True, stderrToServer=True)
3、上傳文件。右鍵測試文件和pycharm-debug-py3k.egg,Deployment | Upload to aaa@192.168.1.100:22
4、選擇創建的Python Remote Debug
5、出現如下打印表示連接成功。
6、還沒完,在Ubuntu運行如下代碼。
python3 demo.py
7、然后在PyCharm調試,PyCharm多了一行“Connected to pydev debugger (build 183.4588.64)”,這時候已經可以F8了。
方法二有個麻煩的地方,每次都得去Ubuntu運行程序。
參考:
https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html#deploy-remote-host
https://www.jetbrains.com/help/pycharm/configuring-remote-interpreters-via-ssh.html
第一次寫博客,寫的不好的地方請大家多多指教,謝謝!