如何修复TypeError:glib.spawn\u异步与Kupfer(python)合作?

2024-05-23 14:11:36 发布

您现在位置:Python中文网/ 问答频道 /正文

每当我试图把一个参数传递给Kupfer时,就会得到一个错误(debug run),上面写着“TypeError:glib.spawn\u异步:第二个参数必须是字符串序列”。我不知道为什么会这样。我只是尝试使用文本模式将一些参数传递给bash脚本(“command$*”)或任何其他可执行文件,但此错误导致无法将Kupfer用于以下目的:(

这个应用程序维护得不多。我对unicode和类似问题的Python知识非常有限。我想要么解决这个问题,或者如果这不是一个错误,找到正确的方法来使用该功能。你知道吗

如何在代码中解决这个问题?我想把它修好,这样我们就可以用它了。你知道吗

github页面 https://github.com/engla/kupfer

错误消息 http://pastebin.com/rUJDnetL

Traceback (most recent call last):
  File "/usr/share/kupfer/kupfer/ui/browser.py", line 1615, in _activate
    self.data_controller.activate(ui_ctx=self._make_gui_ctx())
  File "/usr/share/kupfer/kupfer/core/data.py", line 800, in activate
    res, ret = ctx.run(leaf, action, sobject, ui_ctx=ui_ctx)
  File "/usr/share/kupfer/kupfer/core/commandexec.py", line 303, in run
    ret = activate_action(execution_token, obj, action, iobj)
  File "/usr/share/kupfer/kupfer/core/commandexec.py", line 80, in activate_action
    return _activate_action_single(obj, action, iobj, kwargs)
  File "/usr/share/kupfer/kupfer/core/commandexec.py", line 86, in _activate_action_single
    ret = action.activate(obj, iobj, **kwargs)
  File "/usr/share/kupfer/kupfer/plugin/commands.py", line 131, in activate
    utils.AsyncCommand(argv, finish_callback, None, stdin=leaf.object)
  File "/usr/share/kupfer/kupfer/utils.py", line 126, in __init__
    standard_error=True, flags=flags, envp=env)
TypeError: glib.spawn_async: second argument must be a sequence of strings

Tags: runinpycoreuishareusr错误
2条回答

嘿,我知道我来不及回答这个问题,但我只是遇到了同样的问题库普弗是这样一个可怕的实用程序,我不能接受有一个这样的错误在它。你知道吗

不管怎样,把电话改成glib.spawn\u异步(库普弗)/效用:125-126)由此:
glib.spawn_async(argv, standard_output=True, standard_input=True, standard_error=True, flags=flags, envp=env)
简而言之:
glib.spawn_async(argv)

这对我和其他人都有效:)

另外,如果有人还在使用kupfer,并得到了这个答案,我只是分叉回购,并希望尝试恢复/维持它,所以请随意投注,如果你有兴趣kupfer2

glib doc中可以看到,错误消息没有地址argv,这是第一个参数,而是第二个envp。这个bug也是在launchpad上出现的,KarolBedkowski提供了一个修复程序。你知道吗

相关问题 更多 >