Pycharm远程调试

栏目: Python · 发布时间: 6年前

内容简介:如上所诉,要是有一个很方便调试远程服务器的方法,岂不美哉。通过PyCharm我们可以很方便地实现远程调试,下面详细介绍下PyCharm这个牛叉的功能。最后点击OK即可再次打开部署选项,可以发现现在可以直接部署代码到服务器了,也可以直接下载带代码到本地,同时自动上传(Automatic Upload)是默认勾选的,我一般会把它去掉,防止一些本地测试代码上传上去
  1. 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现
  2. 本地依赖和线上依赖版本不一致也可以导致一些问题
  3. 有时一些bug跟数据相关,本地数据无法和线上数据一致
  4. 有些三方平台会验证服务器的合法性或者异步回调结果,如微信支付,这时候本地无法测试

如上所诉,要是有一个很方便调试远程服务器的方法,岂不美哉。通过PyCharm我们可以很方便地实现远程调试,下面详细介绍下PyCharm这个牛叉的功能。

添加远程部署

  1. 打开pycharm,tools-->Deployment-->Configuration
Pycharm远程调试
  1. 点击左边“+”添加远程服务器,随便起个名字,选择SFTP
Pycharm远程调试
  1. 配置connection
Pycharm远程调试
  1. 配置Mappings

    Pycharm远程调试
  2. 配置Excluded Paths(可选)

    Pycharm远程调试

最后点击OK即可

再次打开部署选项,可以发现现在可以直接部署代码到服务器了,也可以直接下载带代码到本地,同时自动上传(Automatic Upload)是默认勾选的,我一般会把它去掉,防止一些本地测试代码上传上去

Pycharm远程调试

新增一个文件,查看deployment 选项,这时候就可以上传到远程服务器了

Pycharm远程调试

添加远程解释器

远程部署仅仅只是同步和拷贝文件,要真正实现远程调试还需要配置远程解释器

  1. 设置页面找到“Project Interpreter” --> 设置-->Add
Pycharm远程调试
  1. 选择“SSH Interpreter” --> "Existing server configuration" --> 选择刚才创建的部署配置,使用‘’Create“或者”Move“ 都OK
Pycharm远程调试
  1. 点击下一步,这时会进行连接远程服务器,稍等一会,会出现以下界面,稍微配置下,点击“Finish”即可
Pycharm远程调试

最后使用远程解释器,点击“OK”,返回到项目界面,等待同步完成即可

Pycharm远程调试

远程调试

这里根据自己的具体项目情况而定,我这里是 Flask+阿里云+nginx+运行脚本 的一个例子

  1. 新增一个 run configuration
Pycharm远程调试
Pycharm远程调试
Pycharm远程调试
  1. 运行脚本代码如下,这里使用了8000的端口

Host要配置为0.0.0.0

Pycharm远程调试
  1. nginx 配置8000 端口
server {
        listen       8000 ;
        listen       [::]:8000 ;
        server_name  _;
        root         /usr/share/nginx/html;
        access_log  /var/log/nginx/access_8000.log  main;
        error_log  /var/log/nginx/error_8000.log;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
		proxy_pass http://127.0.0.1:8000;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
复制代码
  1. 要是使用阿里云,还需要安全组开放8000 端口
  2. 断点运行
Pycharm远程调试
Pycharm远程调试
  1. 出现上图所示的时候,恭喜你,你已经可以断点调试远程服务器了

我们打一个断点,然后试着访问一个API服务: xx.xx.xx.xx:8000/api/pages/b…

完美断上

Pycharm远程调试

补充说明

不建议在正式服务器使用这个功能,可以在测试服务器使用


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人工智能时代

人工智能时代

[ 美]杰瑞•卡普兰(Jerry Kaplan) / 李盼 / 浙江人民出版社 / 2016-4-1 / CNY 59.90

 当机器人霸占了你的工作,你该怎么办?机器人犯罪,谁才该负责?人工智能时代,人类价值如何重新定义?  在《人工智能时代》一书中,智能时代领军人、硅谷连续创业者杰瑞·卡普兰指出:智能时代的到来,给人类社会带来了两大灾难性冲击:持续性失业与不断加剧的贫富差距。机器正在很大程度上替代人类的工作,不管你是蓝领还是白领。而针对未来社会将要发生的这些问题,卡普兰在《人工智能时代》一书中从企业、税收和......一起来看看 《人工智能时代》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具