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

标签 python linux unicode glib app-launcher

每当我尝试将参数传递给 Kupfer 时,我都会收到一个错误(调试运行),提示“TypeError:glib.spawn_async:第二个参数必须是字符串序列”。我不知道为什么会这样。我只是想使用文本模式将一些参数传递给 bash 脚本(“命令 $*”)或任何其他可执行文件,但这个错误使得无法将 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

最佳答案

嘿,我知道我回答这个问题已经很晚了,但我刚刚遇到了同样的问题,kupfer 是一个非常棒的实用程序,我无法接受其中存在这样的错误。

无论如何,改变对 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 并得到这个答案,我只是 fork 了 repo 并想尝试恢复/维护它所以如果您感兴趣,请随时参与 kupfer2

关于python - 如何使用 Kupfer (python) 修复 TypeError : glib. spawn_async?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23615452/

相关文章:

python - 如何重命名文件以包含其所在子文件夹的名称?

python - 如何在 Python Tools for Visual Studio 中运行 Django manage.py 命令?

Python 请求 - 为什么在没有 POST 数据的情况下 POST 不退回到 GET?

c++ - QFile::open 以 unicode 文件名失败

python - 读取某些行编码错误的 csv 文件并向用户返回错误行

python - PyQt messagebox yes or no with an if

linux - 如何知道递归目录结构中文件的路径

c++ - 在 Hadoop 2.x 中运行 C++ 代码

python - 无法在 Python 中将脚本写入 "svn export"

Delphi 2010 宽函数与字符串函数