![为什么在将 Ubuntu 服务器升级到 22.04 的情况下运行 Nala 时会出现 ImportError?](https://linux22.com/image/1029559/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E5%B0%86%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8D%87%E7%BA%A7%E5%88%B0%2022.04%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%20Nala%20%E6%97%B6%E4%BC%9A%E5%87%BA%E7%8E%B0%20ImportError%EF%BC%9F.png)
ImportError
安装后尝试使用 Nala 时出现以下问题:
$ sudo nala update
Traceback (most recent call last):
File "/usr/bin/nala", line 5, in <module>
from nala.__main__ import main
File "/usr/lib/python3/dist-packages/nala/__main__.py", line 30, in <module>
import nala.fetch as _fetch # pylint: disable=unused-import
File "/usr/lib/python3/dist-packages/nala/fetch.py", line 37, in <module>
import typer
File "/usr/lib/python3/dist-packages/typer/__init__.py", line 12, in <module>
from click.termui import get_terminal_size as get_terminal_size
ImportError: cannot import name 'get_terminal_size' from 'click.termui' (/usr/lib/python3/dist-packages/click/termui.py)
这是在已升级到 22.04 的服务器上安装的,而不是从 22.04 全新安装的。从历史角度来看,此服务器最初是用 12.04 构建的,并已多次升级到 22.04。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
Nala 安装如下:
sudo apt install nala
作为测试,我在 Virtual Box 机器上全新安装的 Ubuntu 22.04 上安装了 Nala,运行正常。因此,问题似乎与此系统升级到 22.04 有关。
我还做了以下事情:
wget https://gitlab.com/volian/volian-archive/uploads/b20bd8237a9b20f5a82f461ed0704ad4/volian-archive-keyring_0.1.0_all.deb\
wget https://gitlab.com/volian/volian-archive/uploads/d6b3a118de5384a0be2462905f7e4301/volian-archive-nala_0.1.0_all.deb
sudo apt install ./volian-archive*.deb
sudo apt --purge autoremove nala
sudo apt install nala
附加信息:
納拉版本:
$ apt policy nala nala: Installed: 0.12.3 Candidate: 0.12.3 Version table: *** 0.12.3 100 100 https://deb.volian.org/volian scar/main amd64 Packages 100 https://deb.volian.org/volian scar/main i386 Packages 100 /var/lib/dpkg/status 0.12.2 100 100 https://deb.volian.org/volian scar/main amd64 Packages 100 https://deb.volian.org/volian scar/main i386 Packages 0.11.1~bpo22.04.1 100 100 http://us.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages 100 http://us.archive.ubuntu.com/ubuntu jammy-backports/universe i386 Packages
python3-pip
版本:$ apt policy python3-pip python3-pip: Installed: 22.0.2+dfsg-1ubuntu0.2 Candidate: 22.0.2+dfsg-1ubuntu0.2 Version table: *** 22.0.2+dfsg-1ubuntu0.2 500 500 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe i386 Packages 500 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages 500 http://security.ubuntu.com/ubuntu jammy-security/universe i386 Packages 100 /var/lib/dpkg/status 22.0.2+dfsg-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
python3-typer
版本:$ apt policy python3-typer python3-typer: Installed: 0.4.0-1 Candidate: 0.4.0-1 Version table: 0.7.0-1 100 100 https://deb.volian.org/volian scar/main amd64 Packages 100 https://deb.volian.org/volian scar/main i386 Packages *** 0.4.0-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy/universe i386 Packages 100 /var/lib/dpkg/status
python3-click
版本:$ apt policy python3-click python3-click: Installed: 8.1.3-2 Candidate: 8.1.3-2 Version table: *** 8.1.3-2 100 100 https://deb.volian.org/volian scar/main amd64 Packages 100 https://deb.volian.org/volian scar/main i386 Packages 100 /var/lib/dpkg/status 8.0.3-1 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages 500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages
并且以下内容没有输出:
$ sudo apt-mark showhold
我不知道该如何解决这个问题。有人有什么建议吗?
答案1
我也已经nala
在 Ubuntu 22.04 上安装了,它运行良好。所以我认为你说得对某物升级过程中发生。
我建议您卸载(并清除)当前版本nala
,然后重新安装最新版本。
移除(清除)旧娜拉
删除当前版本和所有相关的包和文件:
sudo apt autoremove --purge nala
谨慎使用:请确保这只会删除与 相关的包nala
。
现在您可以nala
通过两种方式安装:从 Ubuntu repo 或从 Volian repo。
从 Ubuntu repo 安装 Nala
sudo apt update && sudo apt install nala
该 repo 中的 Nala 版本将是0.11.1~bpo22.04.1
。
从 Volian repo 安装 Nala
首先安装 repo 和密钥:
wget https://gitlab.com/volian/volian-archive/uploads/b20bd8237a9b20f5a82f461ed0704ad4/volian-archive-keyring_0.1.0_all.deb
wget https://gitlab.com/volian/volian-archive/uploads/d6b3a118de5384a0be2462905f7e4301/volian-archive-nala_0.1.0_all.deb
sudo apt install ./volian-archive*.deb
nala
然后从 Volian repo安装:
sudo apt update && sudo apt install nala
该 repo 中的 Nala 版本将是0.12.3
。
根据提供的信息,该python3-typer
模块似乎尚未升级。请通过运行以下命令手动升级:
sudo apt install python3-typer=0.7.0-1