为什么用python2运行guake但是错误中有'python3'?

时间:2014-03-02 05:25:02

标签: python archlinux

我的操作系统是archlinux。我已经安装了一个月的guake并且运行良好。但是今天它无法启动,错误是:

[arch@arch ~]$ python2 /usr/bin/guake
Traceback (most recent call last):
  File "/usr/bin/guake", line 34, in <module>
    import dbus
  File "/usr/lib/python3.3/site-packages/dbus/__init__.py", line 82, in <module>
    import dbus.types as types
  File "/usr/lib/python3.3/site-packages/dbus/types.py", line 6, in <module>
    from _dbus_bindings import (
ImportError: /usr/lib/python3.3/site-packages/_dbus_bindings.so: undefined symbol: PyBytes_Type

我该如何解决?

3 个答案:

答案 0 :(得分:0)

我认为你的python2符号链接指向python3。 尝试使用which python2进行检查。如果它显示python3并且你的python3符号链接也是pthon到python3那么你可能需要重新安装python2。

答案 1 :(得分:0)

我发现 PYTHONPATH 设置为

/usr/lib/python3.3/site-packages in /etc/profile

评论这将解决它。

答案 2 :(得分:0)

要添加到其他答案,请按以下方式定义PYTHONPATH:

> PYTHONPATH="..." python2 /usr/bin/guake

在这种情况下,您只需更改此执行的路径。

您也可以在命令行中使用env来检查当前的PYTHONPATH值。

> env | grep PYTHONPATH