为什么在将 Ubuntu 服务器升级到 22.04 的情况下运行 Nala 时会出现 ImportError?

为什么在将 Ubuntu 服务器升级到 22.04 的情况下运行 Nala 时会出现 ImportError?

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

相关内容