OMV的apt update遇到了python3.5错误,以及解决办法

引言

最近心血来潮开始折腾自己的NAS,把原来的windows系统去掉,安装了一个openmediavault(一个基于debian的操作系统),但在做普通的apt update时,却出现了问题。

错误提示:

# apt update
Get:1 file:/var/cache/openmediavault/archives  InRelease
Ign:1 file:/var/cache/openmediavault/archives  InRelease
Get:2 file:/var/cache/openmediavault/archives  Release
Ign:2 file:/var/cache/openmediavault/archives  Release
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:6 http://mirrors.ustc.edu.cn/debian stretch InRelease
Get:7 http://mirrors.ustc.edu.cn/debian stretch-updates InRelease [91.0 kB]
Hit:8 http://security.debian.org/debian-security stretch/updates InRelease
Hit:9 http://mirrors.ustc.edu.cn/debian stretch Release
Hit:11 http://packages.openmediavault.org/public arrakis InRelease
Get:12 http://mirrors.ustc.edu.cn/debian stretch-updates/main Sources.diff/Index [8,116 B]
Hit:13 https://download.docker.com/linux/debian stretch InRelease
Get:14 http://mirrors.ustc.edu.cn/debian stretch-updates/main amd64 Packages.diff/Index [8,116 B]
Hit:15 https://openmediavault.github.io/packages arrakis InRelease
Get:16 http://mirrors.ustc.edu.cn/debian stretch-updates/main Sources 2019-03-27-2010.32.pdiff [471 B]
Get:16 http://mirrors.ustc.edu.cn/debian stretch-updates/main Sources 2019-03-27-2010.32.pdiff [471 B]
Get:18 http://mirrors.ustc.edu.cn/debian stretch-updates/main amd64 Packages 2019-03-27-2010.32.pdiff [531 B]
Get:18 http://mirrors.ustc.edu.cn/debian stretch-updates/main amd64 Packages 2019-03-27-2010.32.pdiff [531 B]
Hit:19 https://downloads.plex.tv/repo/deb ./public InRelease
Get:10 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease [91.9 kB]
Get:20 http://cdn-fastly.deb.debian.org/debian stretch-backports/main amd64 Packages.diff/Index [27.8 kB]
Get:21 http://120.52.51.13/cdn-fastly.deb.debian.org/debian stretch-backports/main amd64 Packages 2019-03-27-2010.32.pdiff [449 B]
Get:21 http://120.52.51.13/cdn-fastly.deb.debian.org/debian stretch-backports/main amd64 Packages 2019-03-27-2010.32.pdiff [449 B]
Ign:22 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch InRelease
Ign:23 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch InRelease
Ign:24 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch InRelease
Get:25 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release [4,389 B]
Hit:25 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release
Get:27 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release [3,540 B]
Hit:27 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release
Get:29 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release [3,540 B]
Hit:29 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release
Fetched 228 kB in 7s (32.1 kB/s)
Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fd62f0677b8>
Traceback (most recent call last):
  File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fd62f0677b8>
Traceback (most recent call last):
  File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
以上代码中的倒数几行有明显python3.5错误提示,weakref.py的117行执行错误。

解决办法

打开 /usr/lib/python3.5/weakref.py 文件,做如下编辑:

把第109行改为:

def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref):

并且把第117行改为_atomic_removal(d, wr.key) 

 

解决后运行apt update 

# apt update
Get:1 file:/var/cache/openmediavault/archives  InRelease
Ign:1 file:/var/cache/openmediavault/archives  InRelease
Get:2 file:/var/cache/openmediavault/archives  Release
Ign:2 file:/var/cache/openmediavault/archives  Release
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Ign:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Get:3 file:/var/cache/openmediavault/archives  Packages
Get:4 file:/var/cache/openmediavault/archives  Translation-en_US
Ign:4 file:/var/cache/openmediavault/archives  Translation-en_US
Get:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:5 file:/var/cache/openmediavault/archives  Translation-en
Ign:6 http://mirrors.ustc.edu.cn/debian stretch InRelease
Hit:7 http://mirrors.ustc.edu.cn/debian stretch-updates InRelease
Hit:8 http://mirrors.ustc.edu.cn/debian stretch Release
Hit:9 http://security.debian.org/debian-security stretch/updates InRelease
Hit:11 http://packages.openmediavault.org/public arrakis InRelease
Hit:12 https://download.docker.com/linux/debian stretch InRelease
Hit:13 https://openmediavault.github.io/packages arrakis InRelease
Hit:15 https://downloads.plex.tv/repo/deb ./public InRelease
Hit:14 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease
Ign:16 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch InRelease
Ign:17 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch InRelease
Ign:18 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch InRelease
Get:19 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release [4,389 B]
Hit:19 https://dl.bintray.com/openmediavault-plugin-developers/arrakis stretch Release
Get:21 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release [3,540 B]
Hit:21 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-plex stretch Release
Get:23 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release [3,540 B]
Hit:23 https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch Release
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

可以看到,此处再没有报错。

 

OMV的apt update遇到了python3.5错误,以及解决办法》有1个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据