企业级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
相关推荐
WiKiLeaks_successor4 分钟前
Scipy库里的众数函数不严谨,我把它重构了。
python·scipy
傻啦嘿哟9 分钟前
房产数据对比爬虫:同时爬取链家+贝壳+安居客,做房价横向对比
python
盖伦发发11 分钟前
SpringCloud Alibaba Sentinel 教学:限流、熔断、降级、线程/信号量隔离、活动过载保护
后端·软件工程
小静AI工程实验室13 分钟前
JS 逆向接口 ID 变了?Python 与 Node.js 复现 JSON 大整数精度丢失
javascript·python·node.js
李航198316 分钟前
用 DeepDraw 几何引擎开发建筑设计软件(五):创建选择工具
python·3d
Metaphor69221 分钟前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
考虑考虑8 小时前
数据库中的EXISTS
运维·数据库·后端
花酒锄作田9 小时前
FastAPI 使用 session 认证
python·fastapi
lsswear9 小时前
Python 并发 线程
开发语言·python
郑州光合科技余经理9 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程