我意外删除了 usr/lib/python3.4,现在遇到了一些问题,我该如何解决这个问题?

我意外删除了 usr/lib/python3.4,现在遇到了一些问题,我该如何解决这个问题?

(这不是意外删除了/usr/lib/python3.4,我得到的错误是不同的。)

今天我不小心删除了usr/lib/python3.4,现在Ctrl+Alt+T不再起作用了,终端和 unity-tweak-tool 无法从应用程序抽屉中打开。

当我尝试从终端打开 unity-tweak-tool 时出现此错误。我该如何修复此问题?

Could not find platform independent libraries 
Could not find platform dependent libraries 
Consider setting $PYTHONHOME to [:]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

更新
运行后sudo apt install --reinstall $(dpkg -S /usr/lib/python3.* | sed -r 's/, /\n/g; s/\: .+//')重新安装了一些东西,但最后它又给了我一个错误:E: Internal Error, No file name for python3.4:amd64。运行 unity-tweak-tool 后我现在得到:

Could not find platform independent libraries <prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

Current thread 0x00007f06bc180700 (most recent call first):
(core dump created)

答案1

有几个 Python 包保留在那里,因此重新安装一个包可能不起作用。运行以下命令查看系统中有哪些文件:

dpkg -S /usr/lib/python3.4

对于每个人来说,这将返回略有不同的内容,但重要的部分是重新安装它显示的软件包。

它需要一些处理(删除逗号,切断路径),但这里有一些东西可以完成所有这些并重新安装它们。

sudo apt install --reinstall $(dpkg -S /usr/lib/python3.* | sed -r 's/, /\n/g; s/\: .+//')

在某些情况下,您可能必须手动优先考虑(首先安装)某些软件包,但看看您得到了什么。

相关内容