Pycharm远程调试设置

注:这个是我研一入学的时候负责阿里云服务器部署的时候,导师要求写一个怎么用pycharm连接服务器并学会本地编辑、远端调试代码的说明文档。

写文档时间:2019年10月7日

# ========================================================

准备工作

1.去官网下载Pycharm专业版,社区版没有远程调试功能,要序列号,用学校邮箱注册一个,安装在本地

2.去官网下载Python解释器(3.6版本以上)或者Anaconda,安装在本地

注:分享一个获取pycharm破解版的网址:https://www.cnblogs.com/xuexianqi/p/12767075.html

【免责声明:该链接里的方法只做学习研究之用,不得用于商业用途!!】

本机环境

操作系统:视自己的电脑的系统而定

IDE:Pycharm+python3解释器或(Pycharm+Anaconda 3.6)

阿里云服务器

操作系统:Ubuntu 18.0.4

配置了ssh,可以使用ssh进行远程登陆

新建一个工程

我这边工程名是Pycharm_one,这个请自行在自己的电脑定义,D、E、F盘都行。

配置Deployment

首先,在pycharm的菜单栏依次找到:Tools > Deployment > Configuration

添加一个Server

name请自行定义,我这里填的是服务器的IP地址,方便记忆。

Type请务必改成SFTP

然后点击 OK 可以看到如下的配置页面,具体各配置在图片中说明(host为服务器IP:XX.XX.XXX.X):

 注:root path是上传文件的根目录,注意这个目录必须用户名有权限创建文件。

 root path 这里填  /  (填  / ,也就是根目录下,所有文件夹我都能在Remote host控制面板中看见),如果不想看见全部,那就具体到某个项目路径,相应的在下面的deployment处填  /

填完之后,然后打开 Mappings 选项卡,在自己的家目录对应的账号名下先建一个文件夹命名为 python_code(命名随意),然后在箭头位置找到 / homejzmin/python_code 。以后我们的代码就会上传到该目录下。注:这里看你想把代码上传到你的家目录的哪个文件夹。

 请注意,因为我们有提前把项目文件放在/data/project/BioDataCoding目录下!!!

1)若上面的root path填的/,那 Deployment path 这里就填/data/project/BioDataCoding

2)若上面的root path填的/data/project/BioDataCoding,那Deployment path这里就填/

Web path可以不用管,后面的 Excluded Paths 也不用管。

注:Local path是你的工程目录,就是需要将本地这个project同步到服务器上面。

       Deployment path这里填写相对于root path的目录,在实际开发时,我们具体到项目所在的位置就好了。

点击 OK 这样,这样Deployment的配置就完成了。

这个配置完成了之后,其实是相当于配置了一个ftp工具可以连接到服务器上,从而可以查看和修改服务器上的文件。

可以通过Tools > Deplotment > Browse Remote Host来打开相应的RemoteHost面板,这个面板显示的就是服务器上的文件,显示的范围是你在Deployment中的Connection选项卡下配置的Root path路径下的文件及文件夹。之前我们填的是 / 所以能全部显示,那如果root path 填的是 /home 那就显示的是home下的目录。

然后就可看见如下的界面

现在的IDE界面应该是这样子的。

你可以直接在RemoteHost面板里双击某个文件并且直接进行编辑,比如我在 /home/cqfnenu 目录下单击右键下新建一个  test.py 文件。双击 test.py 文件后你可以看到编辑区域的顶部有一个横条,并且横条的右边有三各按钮,分别是比较,撤销和上传操作。你在这里面编辑文件之后,可以直接点击上传按钮,就会提交到服务器了。但是其实不推荐直接在这里修改代码,后面的使用流程会说到。

以上的配置,就可以直接在PyCharm里看到服务器上的文件,我感觉就像是直接在IDE里集成了一个FTP传输工具。

 

配置python解释器

这里主要讲的是如何配置远程python解释器。

首先,通过File > Settings,打开设置选项卡。

在设置选项卡里,点击"Project:项目名"这个按钮,在展开的小项里再点击Project Interpreter,右边就会变成Interpreter的配置页面。

点击Interpreter配置页面的小齿轮按钮,然后再选择add Remote

或者直接在箭头处下拉框里直接选择,这个是基于已经配置过一遍了,有记录。

经过以上步骤,你的远程解释器就配置好了。

现在假设我们的项目代码在 /home/jjhnenu/python_code/ 目录下的 test.py ,这时,可以直接点击小三角按钮,调用远程服务器上的python解释器来运行代码。

但是在此,你还需要看看下面的使用流程。

如果你直接双击RemoteHost面板里的文件,然后点击小三角运行是会报错的,可能会提示:No such file or directory,那是因为我们的script path没有设置成代码的所在路径,把它改成 /home/jjhnenu/python_code/test.py 就可以运行了。

 

使用流程

在配置中也参考了很多其他文章,但是有些文章还是没有讲清楚具体的流程,因此我把自己认为可能“正确”的流程记录一下。

在介绍Deployment配置的时候,我们讲到了Mapping选项卡的配置。这个配置将本地的一个路径映射成了服务器上的一个路径。

因此,在这个文件夹下的文件和服务器上的文件是同步的,当然,需要你在本地修改的时候upload到服务器或者设置自动upload。

在这里,我的mapping配置如下:

首先,我们在pycharm中通过 File > open... 来打开一个新的项目,项目路径就选择上面的local path路径。我这里是Pycharm_one/venv

在Project窗口中就可以看到打开了这个项目,当前这个项目还是空的,里面什么也没有。

然后,我们打开RemoteHost小窗口,在test.py文件上右键,再选择 Download from Here,文件就会下载到本地了。返回到Project小窗口,就可以看到 test.py。其他的文件类似,如果有父目录,他会将父目录也一起下载下来,所以文件和路径都会和服务器保持一致。

这样,你就可以在本地编辑test.py文件。

在编辑完成后,你可以在文件上右键或者直接在编辑区域右键,选择upload to... 将文件上传到服务器,这样就可以更新服务器端的代码了,并且保持了和本地代码。

此时,点击绿色小三角运行代码,可以看到相应的输出。但是看看控制台的输出,可以发现,python解释器不是本地的,而运行的文件也不是本地。

上面就是整个从服务器下载文件至本地,在本地修改文件,将文件上传至服务器,然后直接在本地运行的整个过程。

在这个过程中,也可以发现,经过这样的配置,我们的代码现在一共有三个版本:一个是本地代码,一个是服务器上的代码,还有一个是RemoteHost面板中的代码(这个地方的代码如果直接编辑了,其实也可以提交到服务器,但是不能直接运行)

所以,如果通过上面的配置进行远程调试的话,我认为大致流程应该是下面这样:

在RemoteHost面板中,选中想要修改的代码,然后右键点击Download from here将内容下载至本地(这个本地是你在配置Deployment时设置的本地文件夹)。

在本地(这个本地是你在配置Deployment时设置的本地文件夹)修改你的代码,修改完成后在编辑区域或者文件名上右键,选择upload to...来提交到服务器。

在提交之后,你可以像普通调用本地解释器一样的直接运行本地的这个文件(但其实运行的是服务器的文件)

在这里,虽然RemoteHost里的文件可以直接编辑,但是并不建议这么做,因为这里编辑之后并不能直接运行。

如果你非得这样做的话:你可以做以下的操作!!!!

在scriptpath中,精确到你要运行的文件(.py),保存好之后,开始运行! 

谨记:有时会出现一定的乱码情况,不要着急,再次回到script path 位置,删除路径前面的乱码,再次运行

最后开启代码自同步

开启代码自同步,这样,我们对代码的修改pycharm都能识别,并且为我们提交到远程服务器。

通过 files > settings 开启 Gevent compatible,如果不开启,在调试过程中,很可能出现无法调试,或者无法追踪/查看变量等问题。

ps:有些同学配置的解释器是版本2.7的,请完成以下的配置:

 

这个是看的别人的设置,据说能够实现文件的相互调用

 

Pycharm 远程调试设置参考了如下博文:

<https://www.cnblogs.com/wangshicheng/p/10827061.html>

< https://blog.csdn.net/huobanjishijian/article/details/98619547>

< https://blog.csdn.net/leviopku/article/details/80646483>

<https://blog.csdn.net/u010472607/article/details/78005668>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值