使用pycharm 专业版, 在设置解释器中,具备ssh 解释器功能;
一般在本地无法调试远程端代码,机械性的scp传输文件十分影响工作效率,PyCharm的Pro支持远程Run,Debug,等可视化的功能。
在使用本地的pycharm 远程 服务器上的pycharm ,
需要获取服务器上的如下信息;
从服务器上获取如下信息;
1. project path: pwd
/home/yons/Documents/python_proj/02_patch-mix_contrastive_learning/patch-mix_contrastive_learning-main
2. conda python environments path:
/home/yons/anaconda3/envs/torch2.1.0/bin/python3.8
3. Username: whoami
yons
4. ip, ifconfig
inet 192.168.xx.xx
5. port: use default
22
在服务器上, 需要检查三件事情,
sudo ufw enable
检查状态:
要验证 SSH 规则是否已添加并且防火墙是否处于活动状态,请运行
sudo ufw status
使用端口 22, 是因为配置pycharm 中 端口默认的是22;
允许 SSH(端口 22):
现在 UFW 已启用,应该允许默认端口 22 上的 SSH 流量。使用以下命令:
sudo ufw allow 22/tcp
检查 SSH 服务状态:
确保 SSH 服务正在远程服务器上运行。您可以使用以下命令检查其状态
sudo systemctl status ssh
如果该服务未运行,请使用以下命令启动它:
sudo systemctl start ssh
systemctl list-units | grep ssh
如果没有输出的话,
要确定是否安装了 SSH,您可以使用特定于您的 Linux 发行版的包管理工具。
dpkg -l | grep openssh-server
如果未安装 SSH 服务器,您应该使用包管理器安装它。
例如,在 Ubuntu 上,您可以使用以下命令安装它:
sudo apt update
sudo apt install openssh-server
确保 SSH 服务确实已安装并在您的 Ubuntu 20.04 系统上正常运行。
sudo systemctl status ssh.service
如果服务正在运行,您应该会看到其状态并处于活动状态(正在运行)。
将 systemctl 与服务名称或别名一起使用时,使用完整的服务名称非常重要,在本例中为 ssh.service 。使用别名可能无法按预期工作。
sudo systemctl start ssh.service
首先在远程服务器上新建或者打开一个项目文件,
注意该项目文件后期会与本地的项目文件进行同步
,
python虚拟环境可以使用之前的,或者自己新建一个。
这里需要记录下项目的路径,以及conda的python路径,在Linux系统下anaconda的虚拟环境一般会在当前用户目录下,例如:
/home/USER/.conda/envs/YOUR_CONDA_ENVIRONMENT/bin/pythonX
在本地端使用PyCharm打开之前的项目,或者新建一个项目,Interpreter暂时
选择本地的,
这里的 暂时表示 后续,我们会替换成服务器上的虚拟环境;
Preference --> Python Interpreter --> Add
填写远程端的IP,Port,以及Username,点击Next,输入远程用户登录密码。
在本地就可以加载远程端python环境了。
Tools --> Deployment --> Configuration
https://zhuanlan.zhihu.com/p/265152953