企业级Flask项目移植记录【待补完】

背景

Flask项目A从老电脑C1移植到新电脑C2上

更新日志

1-240614上线第一版经验,博主关于这个项目包的问题还没有解决,正在解决中,但是整体思路大家在移植的时候可以借鉴。

思路

1-首先生产环境的python解释器等相关的东西最好严格保持一致,这样能避免很多奇奇怪怪的问题!

2-我们在新电脑C2上创建一个新Flask程序,然后把requirements.txt文件中的包一个个下载

3-

过程:

Flask程序如何新建就不讲了,就说创建后如何操作

删新创建Flask程序中没用的东西

解压生产环境中程序

全局Python3.6.6解释器下requirements.txt包

因为我的生产环境是全局解释器跑的程序,所以这里我也用全局,

因为这和win10下Apache部署Flask密切相关,不能随意改动

复制代码
#生成requirements240601.txt文件
pip freeze > requirements240601.txt

#安装requirements240601.txt文件
pip install -r requirements240601.txt

下包出现问题【这就是移植最难的地方】

我需要把前面开发人员的历史问题解决

cffi包问题,先跳过

MarkupSafe问题

mistune包找不到版本

mod-wsgi问题【最大问题】

类似问题不一一截图了,反正很多

历史项目的难点在于你不知道哪个包这个项目实际用了, 哪个包没用,

项目在多个开发阶段下的包都是会不断更新的,如果遇到偷懒的程序员或者当时项目很紧急,他就算知道这个包没用,当时的程序员也不会去删除这个包

这就很考验后来程序员的经验和判断力了

当前我们的思路就是尽量把包装全


转变思路解决包下载不了的问题

我们去老电脑的python解释器下Lib/sitepackages文件夹下把所有包下下来,

然后全部丢到新电脑上对应的python解释器的Lib/sitepackages目录下,

注意新电脑的Lib/sitepackages与Lib文件包也需要做一个备份!

打包与备份【十分重要!!!】

生产环境包替换新电脑下的python包

换包之后肯定会存在问题,这个时候就只能一个个去解决了~

这个相对于我们requirements.txt方式会减少一些难度,

比如我们规避了上面描述的一些包可能由于历史久远不在提供下载的问题哦!

验证包是否装到了正确的位置

【重要!】

复制代码
def error_console:

        【最终报移植成功、如何解决的截图、解决思路,等待博主更,这里单纯占坑】

        pass

编辑配置启动信息

复制代码
--host=0.0.0.0 --port=10018

你在跑项比如修改了数据库连接、端口等信息后,可能会报错,

你需要根据报错去怀疑和验证哪个包装错了,

你的最终目标就是程序能跑起来,能给前端用,

还得经过一段时间的使用后,证明和老电脑上的Flask项目没什么差别,

才能证明你移植真的成功了~

后续问题修复【重要!】

这里我根据我项目启动时的报错进行了包怀疑,简单举几个例子

项目启动时出现下面问题

我预备在比对一下新老电脑的Lib文件,看看和Werzeug可能相关的包复制替换一下,看能不能解决

【24060123点41分更新,还没有解决~,明天搞~】

可能用到的命令

复制代码
1-查看pip版本:用pip -V可以查看版本,是大写的V
命令:pip -V
相关推荐
2401_846339562 小时前
CSS如何优化大型项目样式_使用SASS预处理器提升开发效率
jvm·数据库·python
invicinble7 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
小码哥_常7 小时前
MyBatis-Plus:让数据库操作飞起来的神器
后端
2301_811274318 小时前
基于SpringBoot的智能家居管理系统
spring boot·后端·智能家居
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
舒一笑8 小时前
我把设备指纹生成逻辑拆开了:它到底凭什么区分不同设备?
后端·程序员·掘金技术征文
m0_674294648 小时前
如何编写SQL存储过程性能对比_记录执行时间评估优化效果
jvm·数据库·python
运气好好的9 小时前
怎样开启phpMyAdmin的操作审计日志_记录每条执行的SQL
jvm·数据库·python
Nicander9 小时前
多数据源下@transcation事务踩坑
java·后端
郑州光合科技余经理9 小时前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php