簡體   English   中英

為什么要通過python2運行guake但錯誤中存在“ python3”?

[英]Why run guake by python2 but there are 'python3' in errors?

我的操作系統是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

我該如何解決?

我認為您的python2 symlink指向的是python3。 嘗試使用which python2檢查它。 如果顯示的是python3 ,並且您的python3符號鏈接也指向python3,則您可能需要重新安裝python2。

我發現PYTHONPATH設置為

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

評論這將解決它。

要添加其他答案,請按以下方式定義PYTHONPATH:

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

在這種情況下,您只需更改此執行的路徑。

您也可以在命令行中使用env來檢查當前的PYTHONPATH值。

> env | grep PYTHONPATH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM