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)
最后,保存文件,您就可以开始了!
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)
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)