[英]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。
如果您愿意,以下是上面的规格:
重要提示:请记住我无法访问终端。 我还没有尝试过恢复模式,但如果你有一个基于非终端的解决方案,它是首选。
刚刚找到了撤消它的方法。 如果你遇到同样的问题,这就是我所做的:
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
版本没有任何冲突。
为避免安装asdf
和python
时出现问题,请安装以下软件包:
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
版本的分支中克隆(请注意,命令末尾指定的版本可能会更改。我只是按照文档进行操作):
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
之后,您只需要重新启动终端即可。
现在安装了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.