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入门之三角函数sin()函数实例详解
Nov 08 Python
python中os和sys模块的区别与常用方法总结
Nov 14 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
python使用tornado实现简单爬虫
Jul 28 Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 Python
python给微信好友定时推送消息的示例
Feb 20 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
python关于倒排列的知识点总结
Oct 13 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
Oct 28 Python
用Python selenium实现淘宝抢单机器人
Jun 18 Python
Pytest中conftest.py的用法
Jun 27 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
php实现文件预览功能
2017/05/23 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
2020/03/14 Javascript
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
python监控nginx端口和进程状态
2019/09/06 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
什么是继承
2013/12/07 面试题
上课迟到检讨书
2014/01/19 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android