http://blog.sina.com.cn/s/blog_636a55070102yx8k.html

在将Python从3.6升级到3.8后,遇到`ModuleNotFoundError: No module named apt_pkg`错误。为解决此问题,需要删除旧的python-apt模块,然后重新安装。关键步骤包括复制python-36m版本的so文件并重命名为38m,以及创建软链接到apt_pkg.so。完成这些步骤后,问题通常可以得到解决。

更新python3.8后出现ModuleNotFoundError:Nomodulenamedapt_pkg错误

(2021-08-19 10:11:34)

标签:

it

分类: 嵌入式开发

原因:

把python3.6升级到python3.8后出现了python apt 的一个混乱

解决:

1、先将原来的python apt模块进行删除

1 sudo apt-get remove --purge python-apt

2、安装修复python-apt

1 sudo apt-get install -f -y python-apt

3、进入文件层

1 cd /usr/lib/python3/dist-packages/

4、复制   python版本是3.8  so重命名为38m

1 sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.cpython-38m-x86_64-linux-gnu.so

2,ln -s /usr/lib/python3/dist-packages/apt_pkg.cpython-38m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/apt_pkg.so  (这步才是关键,很多文章解决方式没有这一步,cp之后仍然不能解决问题)

内核版本4.5.281,原始tipc函数 static u16 tipc_build_gap_ack_blks(struct tipc_link *l, void *data) { struct sk_buff *skb = skb_peek(&l->deferdq); struct tipc_gap_ack_blks *ga = data; u16 len, expect, seqno = 0; u8 n = 0; if (!skb) goto exit; expect = buf_seqno(skb); skb_queue_walk(&l->deferdq, skb) { seqno = buf_seqno(skb); if (unlikely(more(seqno, expect))) { ga->gacks[n].ack = htons(expect - 1); ga->gacks[n].gap = htons(seqno - expect); if (++n >= MAX_GAP_ACK_BLKS) { pr_info_ratelimited("Too few Gap ACK blocks!\n"); goto exit; } } else if (unlikely(less(seqno, expect))) { pr_warn("Unexpected skb in deferdq!\n"); continue; } expect = seqno + 1; } /* last block */ ga->gacks[n].ack = htons(seqno); ga->gacks[n].gap = 0; n++; exit: len = tipc_gap_ack_blks_sz(n); ga->len = htons(len); ga->gack_cnt = n; return len; } panic位置在skb_queue_walk 5298: f940035a ldr x26, [x26] 529c: f9403fe0 ldr x0, [sp, #120] 52a0: eb1a001f cmp x0, x26 52a4: 540006c0 b.eq 537c <tipc_link_build_proto_msg+0x5a4> // b.none 52a8: f9406740 ldr x0, [x26, #200] 52ac: b9400818 ldr w24, [x0, #8] 52b0: 5ac00b18 rev w24, w24 52b4: 12003f05 and w5, w24, #0xffff 52b8: 17ffffe6 b 5250 <tipc_link_build_proto_msg+0x478> 中52a8: f9406740 ldr x0, [x26, #200] 官方5.8版本新增了修改https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/net/tipc/link.c?h=linux-5.8.y&id=d7626b5acff9227e2a65da636a53e09bdafdc0aa 如何参考这个提交,最小程度修改原始代码解决panic问题
最新发布
08-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值