我该如何修复终结者?它不起作用

Ale*_*Seo 7 python terminator 16.04

当我terminator在终端中运行时,它不起作用。错误是这样的:

$ terminator

  File "/usr/bin/terminator", line 119
    except (KeyError,ValueError), ex:

                                ^
SyntaxError: invalid syntax

Error in sys.excepthook:

Traceback (most recent call last):

  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook

    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in 
<module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging

  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>

    import apt

  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>

    import apt_pkg

ModuleNotFoundError: No module named 'apt_pkg'


Original exception was:

  File "/usr/bin/terminator", line 119

    except (KeyError,ValueError), ex:
                                ^

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我该如何解决?我使用 Ubuntu 16.04。

小智 11

我通过编辑/usr/bin/terminator和更改 python 版本来修复它。首先,打开文件:

sudo nano /usr/bin/terminator
Run Code Online (Sandbox Code Playgroud)

然后,更改第一行:

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

对此:

#!/usr/bin/python2
Run Code Online (Sandbox Code Playgroud)

最后,保存文件,您就可以开始了!


Kul*_*lfy 3

Terminator 需要 python2 库,但从你的输出来看它似乎使用 python3 来运行。另外,根据Ubuntu 18.04 的发行说明

默认情况下不再安装 Python 2。Python 3 已更新至 3.6。这是在 main 中包含 Python 2 的最后一个 LTS 版本。

要在 18.04 中安装 Python2,请运行:

sudo apt install python-minimal
Run Code Online (Sandbox Code Playgroud)


N0r*_*ert 1

apt_pkg考虑重新安装软件包

sudo apt-get install --reinstall python-apt python3-apt
Run Code Online (Sandbox Code Playgroud)

并完全确定重新安装终结者

sudo apt-get install --reinstall terminator
Run Code Online (Sandbox Code Playgroud)