为什么将我的戴尔系统从 Ubuntu 20.04 升级到 22.04 后,重启时会出现“AttributeError:‘Thread’对象没有属性‘isAlive’”?

为什么将我的戴尔系统从 Ubuntu 20.04 升级到 22.04 后,重启时会出现“AttributeError:‘Thread’对象没有属性‘isAlive’”?

将我的戴尔系统从 Ubuntu 20.04 升级到 22.04 后,重新启动系统时收到以下警告消息:

系统重启时出现警告信息

以上消息的文本内容如下:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/dbus/service.py", line 715, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/lib/python3/dist-packages/DellLinuxAssistant/telemetry/dbus_backend.py", line 375, in deal_message
    QueueMessageClient(self.config, self.scheduler).LogLogMetricEvent("FRONTEND", "Dell Linux Assistant closes")
  File "/usr/lib/python3/dist-packages/DellLinuxAssistant/telemetry/telemetry_common.py", line 300, in wrapper
    return func(*args, **kw)
  File "/usr/lib/python3/dist-packages/DellLinuxAssistant/telemetry/queue_message_client.py", line 107, in LogLogMetricEvent
    return self.triggerSend(filePath, header, Schedule)
  File "/usr/lib/python3/dist-packages/DellLinuxAssistant/telemetry/queue_message_client.py", line 51, in triggerSend
    job = self.scheduler.add_interval_job(MessageHelper(self.configure).SendEvent, minutes=1, start_date=datetime.now()+timedelta(seconds=1), args=[filePath, header], max_runs=1)
  File "/usr/lib/python3/dist-packages/ApschedulerStandalone/scheduler.py", line 347, in add_interval_job
    return self.add_job(trigger, func, args, kwargs, **options)
  File "/usr/lib/python3/dist-packages/ApschedulerStandalone/scheduler.py", line 285, in add_job
    if not self.running:
  File "/usr/lib/python3/dist-packages/ApschedulerStandalone/scheduler.py", line 148, in running
    thread_alive = self._thread and self._thread.isAlive()
AttributeError: 'Thread' object has no attribute 'isAlive'

我不知道这意味着什么,或者我是否应该做些什么来纠正错误,但我不想再看到该消息。

答案1

最后,我决定采纳建议并使用以下命令删除 Dell Linux Assistant 应用程序:

sudo apt remove dell-recovery dell-linux-assistant

但我将向戴尔请求一个新的、更适合的应用程序。

我还咨询了戴尔支持人员,据他们说,戴尔 Linux 助手应用程序尚不支持 Ubuntu 22.04。感谢您的帮助和建议。

答案2

超级用户已解答此问题:为什么我在安装 Ubuntu 后会看到这些回溯和与 Python 相关的警告

您应该能够添加存储库萨默维尔并更新软件包。

sudo add-apt-repository ppa:somerville-dla-team/ppa
sudo apt update

升级此软件包的说明如下dell-linux-assistant程序升级。由于该问题可能不被视为重复,因此我也在这里发布了答案。

答案3

isAlive是 的弃用拼写is_alive,在 Python3 之前使用。这可能意味着您正在使用 Python 3 运行为 Python 2 设计的脚本。

在没有安装 Python 2 的 Ubuntu 更高版本中很容易发生这种情况。您可能已经安装了python3-is-python,因此python命令默认为python3

为了解决这个问题,你可以按照从好到坏的顺序选择以下选项:

  1. 查找失败脚本的较新版本,与 兼容python3
  2. 安装python2并确保脚本使用python2,通过将shebang更改为更明确python2而不是python
  3. 安装python2-is-python(非常不推荐)

参考:

相关内容