1、介绍
原先使用Pycharm本地更改->上传服务器->服务器运行->Pycharm本地更改....的交互逻辑效率较低,很不方便。在服务器端直接使用VIM编辑程序调试、使用又不太方便。按照下面的配置能够实现在本地和服务器之间同步文件,在本地远程调用服务器的python解释器的功能。
2、配置步骤
配置Deployment
首先,在pycharm的菜单栏依次找到:Tools > Deployment > Configuration.
然后可以看到如下的配置页面,具体各配置在图片中说明:
然后打开Deployment的Mapping选项卡:
这里设置的是本机和服务器共享的文件夹的路径。为了方便起见,将服务器文件夹设为 / ,这样在本地能够下载服务器所有的文件。将本机文件夹设为一个空文件夹,以后在里面创建新的项目,方便进行管理。这样,Deployment的配置就完成了。这个配置完成了之后,其实是相当于配置了一个ftp工具可以连接到服务器上,从而可以查看和修改服务器上的文件。可以通过Tools > Deplotment > Browse Remote Host来打开相应的RemoteHost面板,这个面板显示的就是服务器上设置文件夹的文件。这里建议把use this server as default勾选上,这样后面设置自动上传或者Ctrl+S上传才能生效。
下面设置同步方式:
配置远程python解释器
这里主要讲的是如何配置远程python解释器。
首先,通过File > Settings,打开设置选项卡。
在设置选项卡里,点击"Project:项目名"这个按钮,在展开的小项里再点击Project Interpreter,右边就会变成Interpreter的配置页面。
点击Interpreter配置页面的小此轮按钮,然后再选择add Remote。
弹出如下弹窗并配置相应的信息。
经过以上步骤,你的远程解释器就配置好了。
使用:
首先,我们在pycharm中通过 File > open... 来打开我们设置的本机共享目录,然后从服务器上下载要编辑的python脚本。
编辑完成后,Ctrl+S上传,然后即可运行。
其他设置:
1、环境变量
这样设置的远程解释器只集成了系统默认的环境变量,没有集成用户自己在.bashrc中定义的环境变量,所以当需要用到时,还需在Pycharm中设置自定义的环境变量,如下图:
2、cannot connect to X server
我在服务器端通过xmanager是可以访问图形界面的,所以这里是环境变量的问题。
在连接服务器的终端中输入:
echo $DISPLAY
得到 DISPLAY=localhost:13.0 ,将其加入到pycharm的环境变量中:
DISPLAY=localhost:13.0
3、pycharm运行程序给argparse指定参数:
注意这里str类型的参数用单引号,因为“string”会被认为是string,而‘string'会被认为是'string'
4、程序指定运行使用的GPU:
在import dlib, import torch等语句之前写:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
5、Pycharm打开连接服务器的终端:
Tools -> Start SSH session