我正在运行 Ubuntu 18.04.4 LTS,遇到一个问题,将我的 Python 从 3.6 更新到 3.7.5 后,我的终端键盘快捷键停止工作,单击终端图标无法运行它。
我在 StackExchange 上找到了一个解决方案,但我不知道它为什么有效,我很想知道为什么。你可以在下面找到链接,解决方案是
This way the upgrade to 3.7 is useless. You should edit the gnome-terminal file:
Open a terminal and issue the following commands:
cd /usr/bin
sudo nano gnome-terminal
Change #!/usr/bin/python3 to #!/usr/bin/python3.6.
This way you can still use the power of 3.7 and solve the issue with the terminal.
有人能解释一下我这样做时发生了什么以及为什么会有效吗?我很想知道我什么时候需要再次升级它!谢谢!
答案1
如果您按照链接问题中的升级路径进行操作,那么您所做的就是使符号链接/usr/bin/python3
指向 python 3.7 而不是 python 3.6。
您更改的行称为“shebang”行。它告诉内核使用哪个应用程序来解释该文件。
Ubuntu 存储库中的应用程序需要/usr/bin/python3
是 python 3.6,并且可能与 python 3.7 不兼容。
因此显然,gnome-terminal
它与 3.7 不兼容,如果您将 shebang 更改为明确指向 3.6,它就会再次起作用。
您不应该更改默认的 Python 版本,这显然是由于默认情况下它未安装在 Debian 替代版本中。我建议将其改回 3.6,因为可能还有很多其他应用程序无法运行。
不要更改,而是在命令行或您自己的 python 模块的 shebang 行中/usr/bin/python3
使用。/usr/bin/python3.7
答案2
我使用 deadsnakes repo 将 python 3.8 升级到了 python 3.10.9 https://hackersandslackers.com/multiple-python-versions-ubuntu-20-04/
过了一会儿,Ubuntu 系统重新启动后,我发现我的终端乱了,无法打开。
然后,我运行了这个命令,基本上重新生成了区域设置。这需要一段时间才能完成。
sudo locale-gen --purge
然后我尝试打开 gnome-terminal 并且能够使用最新的 python 版本打开终端。
希望这个解决方案有帮助!