我有一台在 Windows 中运行 Ubuntu 20.04 的虚拟机,我尝试修复一个问题,但现在出现了错误
ModuleNotFoundError: No module named 'apt-pkg'
我确实运行了代码
sudo apt install python3-apt
这没有帮助。重新启动虚拟机时,我收到相同的错误(即我实际上无法在 GUI 上打开终端,可能是因为该错误)。我需要切换到非 GUI 终端...
我按照建议的解决方案这里但是命令
ls -l | grep apt_pkg
没有返回任何东西。
我也尝试过这个问题运行第一个命令后出现如下错误sudo apt remove python3-apt
:
答案1
解决办法:运行以下命令,选择python3.8:
sudo update-alternatives --config python3
答案2
许多内置/系统脚本使用以下“shebang”来指示应运行哪个二进制文件。这应该是指向系统默认 Python 版本的链接:
#!/usr/bin/python3
在 Ubuntu 20.04 上,预期为 ,python3.8
并且许多脚本假设这是调用 时使用的版本python3
。如果您安装了不同版本的 python,则这些脚本可能会意外失败。您需要确保/usr/bin/python3
指向python3.8
。
一种方法是遵循@Alex 提供的该问题的替代答案我在这里详细说明。假设您已经安装了更新替代方案并添加了不同版本的 Python 并将其中一个配置为默认版本,然后这应该允许您选择不同版本的 Python:
sudo update-alternatives --config python3
为了解决问题,您可以python3.8
通过将其(重新)添加到更新替代方案具有适当高的优先级(在下面的例子中我使用 100)。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 100
再次使用参数重新运行该工具--config python3
应该会列出替代方案及其优先级。