首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Kupfer (python)修复TypeError: glib.spawn_async?

如何使用Kupfer (python)修复TypeError: glib.spawn_async?
EN

Stack Overflow用户
提问于 2014-05-13 01:41:16
回答 2查看 128关注 0票数 1

每当我试图向Kupfer传递一个参数时,我都会得到一个错误(调试运行),它告诉我"TypeError: glib.spawn_async: second参数必须是一个字符串序列“。我不知道为什么会这样。我只是尝试使用文本模式将一些参数传递给bash脚本(“命令$*")或任何其他可执行文件,但此错误使它无法使用Kupfer实现以下目的:(

此应用程序维护不多。我对unicode和类似问题的Python知识非常有限。我想要修复这个问题,或者如果这不是一个错误,找到正确的方式使用该功能。

我如何在代码中解决这个问题?我想把它补上,这样我们就可以用它了。

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

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

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2016-09-16 06:14:40

嘿,我知道我回答这个问题太晚了,但是我刚刚遇到了同样的问题,kupfer是一个非常棒的实用程序,我不能接受里面有这样的bug。

无论如何,将对glib.spawn_async (kupfer/utils.py:125-126)的调用从以下位置更改:

glib.spawn_async(argv, standard_output=True, standard_input=True, standard_error=True, flags=flags, envp=env)

简单地说:

glib.spawn_async(argv)

这对我也适用,希望其他人也能用:)

附注:如果任何人还在使用kupfer,并且即将得到这个答案,我只是分叉了repo,并希望尝试恢复/维护它,所以如果你对kupfer2感兴趣,请随时加入。

票数 0
EN

Stack Overflow用户

发布于 2019-03-16 08:38:10

正如您可以从glib doc中看到的,错误消息没有处理作为第一个参数的argv,而是第二个参数envp。该错误也是在launchpad上提出的,KarolBedkowski已经提供了修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23615452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档