繁体   English   中英

Python 升级导致终端...未打开

[英]Python Upgrading leads to terminal... not opening

我刚刚将 ubuntu 中的 python 升级到 python 3.10 以使用匹配/案例语句,但现在,我的终端无法打开。 任何地方。 我厌倦了在 Visual Studio Code 上打开它,但它说路径不存在。 Gnome 终端和终结者甚至不会给出任何反馈。 我正在使用 Ubuntu 20.04 和 i3wm,我的 shell 是 zsh,这是我使用的命令(我从这个站点这个站点修改它们):

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.6 10
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python2.6 10
sudo update-alternatives --config python
sudo update-alternatives --config python3

我记得我之前的 python 版本大约是 3.7。

如果您愿意,以下是上面的规格:

  • 操作系统:Ubuntu 20.04
  • Shell: zsh (oh-my-zsh)
  • 西马:i3
  • 终端:gnome终端

重要提示:请记住我无法访问终端。 我还没有尝试过恢复模式,但如果你有一个基于非终端的解决方案,它是首选。

刚刚找到了撤消它的方法。 如果你遇到同样的问题,这就是我所做的:

Ctrl+Alt+Fn 和几个 F 按钮(F1、F2、F3...)直到我进入 tty 菜单。 我以自己(不是 root)身份登录,然后运行sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1以使用sudo update-alternatives --config python3设置默认 python 2.8再次。 然后它工作正常。

已编辑

新答案

我找到了安装首选python版本的更好方法。 它比使用ppa:deadsnakes/ppa存储库更稳定、更安全。

当然,现在这不再是您所遇到问题的直接答案。 但我在这里编辑这个答案,希望对您和任何可能想要在默认情况下未安装python3.10的机器上安装 python3.10 的人有所帮助。

您可以使用asdf ,它是一个工具版本管理器。 有了它,您可以安装任何您想要的 python 版本,独立于您的操作系统。 它会更冗长,但运行良好,与某些预安装的python版本没有任何冲突。

为避免安装asdfpython时出现问题,请安装以下软件包:

sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

然后运行:

sudo apt update && sudo apt upgrade

以确保一切都是最新的。

安装 asdf

要安装asdf ,首先我们从存储库和我们想要的asdf版本的分支中克隆(请注意,命令末尾指定的版本可能会更改。我只是按照文档进行操作):

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0

现在您只需在脚本配置文件的末尾添加几行。 它可能会根据您的 shell 发生变化,但请再次查看 文档以获取具体说明(包括zsh )。

要了解您使用的是哪种终端,您可以运行:

echo $SHELL

如果您使用的bash ,那么您可以将以下内容添加到~/.bashrc的末尾(是的,包括点):

. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash

之后,您只需要重新启动终端即可。

安装python3.10(或任何你想要的版本)

现在安装了asdf ,您应该安装一个插件来管理多个python版本。 为此,只需运行以下命令:

asdf plugin-add python

要在系统中全局安装python3.10.4 ,请运行:

asdf install python 3.10.4

接着:

asdf global python 3.10.4

最后,运行:

asdf reshim

最后一个命令是在全局安装库后让asdf正常工作的一些刷新。 每当您使用asdf安装某些东西时运行它,以确保。

在安装一些 package 或带有 pip 的模块后,无需担心运行此命令(好吧,至少我从未有过)。

肯齐学院的学分。 在那里学的。


旧答案

我遇到了同样的问题。 我在这里找到了答案。

起初,我尝试在没有终端的情况下简单地打开gnome-terminal文件并进行更改,但它不起作用,因为使用 GUI 我没有 sudo 权限。 因此,对我有用并且我希望对您有用的解决方法是使用 VSCode 打开文件,然后使用 VSCode 集成终端运行以下命令:

sudo nano /usr/bin/gnome-terminal

当然你不必使用nano ,你可以使用vim或其他东西。 无论如何,一旦在那里,您可以更改文件的第一行,即注释,从

#!/usr/bin/python3

#!/usr/bin/python3.8

Ubuntu 20.04 与python3.8很好地兼容,所以这就是为什么我建议你把python3.8放在那里,但你肯定可以测试其他版本是否有效。

这不是 go 回到python3.8的方法。 您仍将拥有python3.10的附加组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM