Python远程开发环境部署与调试过程图解


Posted in Python onDecember 09, 2019

这篇文章主要介绍了Python远程开发环境部署与调试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、下载相应开发工具

Pycharm :下载地址

二、部署开发机

一般在工作过程中,开发环境并不是本地环境,而是指在开发机;因为,有很多依赖本地部署非常麻烦,而开发机中则内置了很多相关的服务

三、代码自动化部署

由于我们在本地进行代码编辑、在开发机中进行代码的运行及调试,因此,需要一种很方便的方式进行代码的远程自动化部署Pycharm 基于SFTP 的自动化部署

Pycharm 中集成了基于SFTP的自动化部署方案,可以实时将改动的代码部署于线上服务器。

Add Server

配置路径:Tools -> Deployment -> Configuration -> Add (左上角加号) : Type 选择SFTP

Python远程开发环境部署与调试过程图解

Connection

Python远程开发环境部署与调试过程图解

说明:

SFTP host :开发给的IP

Root path :当前代码及依赖的架包等共同的父目录(在头条,源代码一般部署在/opt/tiger 目录下,请确保当前的用户在该目录拥有读写权限)

User name :登录开发集的用户名

Auth type:使用Key pair 可以很方便的进行登录Mapping

Python远程开发环境部署与调试过程图解

Deloyment

path:源码上传到服务器时的目录因为在Configuration 中我们已经配置了Root path,因此,此处的Deloyment path 选择相对的根目录即可配置自动上传

Python远程开发环境部署与调试过程图解

Tools -> Deployment -> Automatic Upload(always) 即可自动将修改的代码上传至服务器中

说明:点击Upload to *** 即可将当前代码手动上传至开发机

四、远程调试环境

现在我们的代码在开发机中运行,在开发过程中,我们需要对我们开发的代码进行高效的调试,检查代码逻辑的正确性。远程调试方法有两种:远程调试 和 查看Log远程Debug的有点在于将开发机当做本地环境,可以实时跟踪检查点的数据结果、实时查看日志配置Project Interpreter

配置远程服务器

Preference -> Project -> Project Interpreter -> Add -> SSH Interpreter -> Exsiting server configuration由于我们在之前已经配置了Deployment Configuration Connection ,因此只要选择对应的Deployment Configuration即可

配置Interpreter

Python远程开发环境部署与调试过程图解

Interpreter:在下一步中选择对应的python执行器,由于头条真对MySQLdb等做了服务发现等相关的修改,该修改后的架包放置于:/opt/tiger/ss_lib/python_package/bin/python 下,因此,可以选择该Python执行器作为Interpreter 或者生成自己的envSync folders: 选择自己在服务器中存放源码的目录

五、远程运行及调试

远程运行如本地环境一般运行python程序即可配置相关依赖由于项目需要许多外部依赖,如果尽在PYTHONPATH中配置对应的路径会存在几个问题:

多个项目公用PYTHONPATH 会相互影响

无法再外部依赖内进行远程debug,因此无法了解内部运行情况

本地与远程依赖关联方法如下:

配置本地依赖

将相应的依赖下载到本地,并Add Content Root

Preference -> Project -> Project Structure -> Add Content Root 选择下载到本地的依赖

依赖远程关联由于大部分的依赖在/opt/tiger 下,因此不需要下载;如果该目录下不存在,则可以选择从git中下载,一般存在目录都会放在/opt/tiger 下

Path mapping

在Run -> Edit Configurations 下配置对应的Path mapping,配置依赖的本地和远程地址即可。

Python远程开发环境部署与调试过程图解

现在就可以像在本地一样debug 你的代码了!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中Random和Math模块学习笔记
May 18 Python
EM算法的python实现的方法步骤
Jan 02 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
python程序输出无内容的解决方式
Apr 09 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
Python实战之实现康威生命游戏
Apr 26 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
Dec 09 #Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 #Python
python3 tcp的粘包现象和解决办法解析
Dec 09 #Python
python绘制规则网络图形实例
Dec 09 #Python
Spring实战之使用util:命名空间简化配置操作示例
Dec 09 #Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 #Python
Python二次规划和线性规划使用实例
Dec 09 #Python
You might like
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
ThinkPHP中I(),U(),$this->post()等函数用法
2014/11/22 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
学习ExtJS table布局
2009/10/08 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
npm qs模块使用详解
2020/02/07 Javascript
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
简单实现Python爬取网络图片
2018/04/01 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python for循环与range函数的使用详解
2019/03/23 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
python实现简单的五子棋游戏
2020/09/01 Python
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
Java面试题及答案
2012/09/08 面试题
.NET remoting中对象激活的两种方式
2015/06/08 面试题
银行职业规划书范文
2013/12/28 职场文书
大学活动邀请函
2014/01/28 职场文书
中介业务员岗位职责
2014/04/09 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
新学期家长寄语2016
2015/12/03 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript