Python的跨平台部署

Python的跨平台部署

年前因为项目需要,加上之前免费课程接学习了一点python,我被安排写一个解析pptx的python项目。于是乎一个python小白开始了无畏的冒险之旅。

1.理解需求

基本需求就是前台移动设备发送一个pptx解析请求给后台,然后后台发送请求到python服务这边,然后python服务这边需要根据请求去minio上指定桶中取出指定压缩文件,解压缩,然后获得pptx文件(至此为止需要对压缩文件以及pptx文件进行文件名的正则校验),随后进行pptx的解析工作,需要将pptx中的图片视频以及文字块进行识别提取,按照后台要求设计好的格式生成json文件,并按照指定目录结构将提取出的图片以及视频文件归好类放入指定文件夹,最后一起压缩上传至minio,向后台返回的response里需要有上传地址以及json体。

2.架构设计

根据需求,首先理解到这个工程需要有以下几个功能模块:

1.minio操作模块(下载上传)
2.压缩文件操作模块(解压压缩)
3.pptx解析模块(采用python-pptx包)
4.后台请求监听模块(采用flask框架)

在需求明确设计规范的情况下,发现以上4个功能点不存在技术难点,于是直接动手开始代码实现。

3.代码实现以及调试

略过

4.跨平台部署

默认是按照windows服务去做的,后来得知现场服务器环境是RedHat7.6,我第一次做肯定拿不准,于是下了一个rhel-server-7.6-x86_64-dvd.iso镜像安装到虚拟机里,准备边调试边修改代码,代码改动不大,除了跨系统的分隔符和编码方式CRLF/LF需要注意以外,还意识到需要将配置拎出来单独做一个config.py配置文件(方便配置不同系统平台的默认中间缓存地址)。

5.期间自己遇到的坑

因为现场是离线环境,我在模拟离线部署的时候,根据requirements.txt安装依赖包的时候遇到了无法确定whl文件的情况,因为无法根据python官方提供的whl文件名称去判断RedHat7.6系统适配的whl文件,导致我无法确定改下载哪一个whl包,耽误了两天时间,年后初八过来上班的时候一拍脑袋直接虚拟机上在线命令行pip3 download -r require.txt -d packages一条命令结束纠结,让pip自动帮我解决适配问题,完事儿我直接用依赖包就行,离线安装都是很简单固定的命令行就能解决。

6.总结

要想着怎么高效定制化解决问题,想着通解的话会陷入误区。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值