前言
宿主机: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,输入:
然后在弹出的对话框中输入密码,如下提示表示连接成功。
aaa@aaa-VirtualBox:~$
上面是ssh还要测试sftp
sftp [email protected]
然后在弹出的对话框中输入密码,如下提示表示连接成功。
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 [email protected]: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