gpt4 book ai didi

将某些方面升级到 3.x 后 Python 坏了

转载 作者:行者123 更新时间:2023-12-04 19:26:09 25 4
gpt4 key购买 nike

我认为我做的最后一件事是使用 update-alternatives,但我对 python 做了很多小改动,所以不完全确定。但是,我无法 apt-get 更新我的系统。我收到如下消息:
sh: 1:/usr/lib/cnf-update-db: 权限被拒绝
E: 执行脚本时出现问题 APT::Update::Post-Invoke-Success ....
我已经尝试了所有涉及 dpkg/-configure 等的在线修复......但它们也会由于权限失败而导致失败。
我了解到,如果您尝试强制卸载所有与 python 相关的尝试来解决此问题,您很可能会占用整个 Ubuntu 安装
群里怎么说?

最佳答案

部分分数:
How to update-alternatives to Python 3 without breaking apt?
这是我解决这个问题的道路:-)

sudo update-alternatives --query python

Name: python
Link: /usr/bin/python
Status: auto
Best: /usr/bin/python3
Value: /usr/bin/python3

Alternative: /usr/bin/Python-3.7.0/python
Priority: 1

Alternative: /usr/bin/python3
Priority: 10

Alternative: /usr/bin/python3.8
Priority: 2

By default, the HIGHEST number (10) as the default python distro for the OS (but this can be overridden)
然后冉:
# to get rid of one than I last installed that started my problems 
command: sudo update-alternatives --remove python /usr/bin/Python-3.7.0/python
reply : update-alternatives: warning: forcing reinstallation of alternative /usr/bin/python3 because link group python is broken
然后再次运行它以获得更新替代品中包含的内容的新 View
sudo update-alternatives --query python
Name: python
Link: /usr/bin/python
Status: auto
Best: /usr/bin/python3
Value: /usr/bin/python3

Alternative: /usr/bin/python3
Priority: 10

Alternative: /usr/bin/python3.8
Priority: 2
太棒了 - 问题 python 已删除。但我注意到 2.7 不在混合中,我认为这曾经是我的 20.04 xfce 发行版中的默认设置,所以运行
你必须提供一个优先级编号,所以我给了它新的“高”12,这应该使操作系统优先
Command: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 12
Replied: update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
以上似乎表明它已将 2.7 设为默认值。我们来看一下
sudo update-alternatives --query python
确实如此!
sudo update-alternatives --query python
Name: python
Link: /usr/bin/python
Status: auto
Best: /usr/bin/python2.7
Value: /usr/bin/python2.7

Alternative: /usr/bin/python2.7
Priority: 12

Alternative: /usr/bin/python3
Priority: 10

Alternative: /usr/bin/python3.8
Priority: 2

Ran: python -V
Replied: Python 2.7.18

Command: sudo update-alternatives --config python
Reply:
There are 3 choices for the alternative python (providing /usr/bin/python).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python2.7 12 auto mode
1 /usr/bin/python2.7 12 manual mode
2 /usr/bin/python3 10 manual mode
3 /usr/bin/python3.8 2 manual mode

Press <enter> to keep the current choice[*], or type selection number:
这很棒。允许我在它们之间切换并测试结果
在这一点上,我对 Python 配置有了更好的理解,但 apt-get update 仍然很困难......
所以更多的阅读把我带到了这里。
cd /etc/alternatives
ls -l python*
lrwxrwxrwx 1 root root 18 Jan 24 13:54 python -> /usr/bin/python2.7
lrwxrwxrwx 1 root root 18 Jan 24 13:59 python3 -> /usr/local/bin/python3.7
第二个看起来很不稳定。指向/usr/local 而不是/usr/bin 所以不是全局的。所以我将它链接到/usr/bin 中的 3.7,如下所示
sudo rm /etc/alternatives/python3
sudo ln -s /usr/bin/python3.7 /etc/alternatives/python3
然后又试了一次
sudo apt-get update 

Hit:1 http://us.archive.ubuntu.com/ubuntu focal InRelease
Get:2 https://pkgs.tailscale.com/stable/ubuntu focal InRelease
Hit:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://ppa.launchpad.net/ansible/ansible/ubuntu focal InRelease
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Hit:7 http://ppa.launchpad.net/ondrej/php/ubuntu focal InRelease
Fetched 228 kB in 2s (112 kB/s)
Reading package lists... Done
解决 !!!!!
这是一个如此关键的问题和由此产生的解决方案,我创建了这篇文章,以便其他人可以在大海捞针中找到这根针

关于将某些方面升级到 3.x 后 Python 坏了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70841351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com