提问人:RTC222 提问时间:11/13/2021 最后编辑:wjandreaRTC222 更新时间:12/25/2022 访问量:11190
ModuleNotFoundError:没有名为“apt_pkg”的模块正在安装 deadsnakes 存储库
ModuleNotFoundError: No module named 'apt_pkg' installing deadsnakes repository
问:
我想在 Ubuntu 18.04 上安装 Python 3.10(我目前使用的是 Python 3.8),使用我在互联网上找到的以下命令集从 deadsnakes 存储库:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.10
但是我得到了错误.sudo: add-apt-repository: command not found
更多的网络研究使我找到了“ModuleNotFoundError:没有名为'apt_pkg'的模块”出现在各种命令中的这组命令 - 询问 Ubuntu:
sudo apt remove python3-apt
sudo apt autoremove
sudo apt autoclean
sudo apt install python3-apt
其他网络资源也说了同样的话,所以我这样做了,但是当我运行时我仍然收到错误消息。sudo add-apt-repository ppa:deadsnakes/ppa
然后我找到了如何在 Ubuntu 和 Debian 上修复“找不到 add-apt-repository 命令” - phoenixNAP,它建议使用这组命令:
sudo apt update
sudo apt install software-properties-common
sudo apt update
所以我这样做了,但是当我运行时,我现在收到以下错误消息:sudo add-apt-repository ppa:deadsnakes/ppa
~$ sudo add-apt-repository ppa:deadsnakes/ppa
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 12, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 28, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
我发现了一些 Web 链接,这些链接显示了早期版本的 Python 的各种解决方案。我目前使用的是 Python 3.8。
在我做更多事情之前,我想问一下,鉴于我所看到的可能解决方案的数量,在尝试安装 deadsnakes 存储库以安装 Python 3.10 时,解决错误消息的最佳方法是什么。ModuleNotFoundError: No module named 'apt_pkg'
非常感谢。
答:
这对我有用:
sudo apt-get install python3-apt --reinstall
cd /usr/lib/python3/dist-packages
sudo cp apt_pkg.cpython-38-x86_64-linux-gnu.so apt_pkg.so
上面文件名中的 38 可能因您而异。
评论
sudo cp apt_pkg.cpython-310-x86_64-linux-gnu.so apt_pkg.so
问题是python_apt来自 Ubuntu 存储库,在运行 python 3.10 时为默认的 python 3.8 提供 python-apt。从 Python 3.8 复制 .so 不是一个干净的解决方案。您在此处缺少预期的apt_inst,导致最近的 Ansible 库失败。我的方法是从 python 3.10 重新编译 python-apt 库,这会重新创建相关的 python 库:
git clone https://salsa.debian.org/apt-team/python-apt
cd python-apt && apt build-dep ./ -y && python3 setup.py build && python3 setup.py install
评论
add-apt-repository
/full/path/to/add-apt-repository
apt_pkg
remove python3-apt
install python3-apt
add-apt-repository
apt-add-repository
apt-add-repository
add-apt-repository
Python 3.6
Python 3.8
apt
Python 3.6
3.10
3.8