我正在运行 Ubuntu 16.04,我的服务器上有 2 个版本的 python,python3.5 和 python3.6。
我已经尝试过的是:
卸载python3-apt
并重新安装,没有帮助,仍然出现同样的错误。
编辑:python3
我正在运行python3.6。
添加错误:
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 11, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 27, in <module>
import apt_pkg
答案1
就我而言,因为我安装了 2 个版本的 python,即 python3.5 和 python3.6,所以在 python3.6 版本中找不到该模块,因此我根据@Emmet 的建议做了以下操作:
nano /usr/bin/add-apt-repository
将该行编辑#! /usr/bin/python3
成#! /usr/bin/python3.5
现在add-apt-repository
命令可以再次工作。
答案2
重要的是要理解,有时当你从旧的 Python 版本升级时,一些包会保留在以前的版本路径中,所以这是我所做的:
cd /usr/lib/python3/dist-packages
apt_pkg.cpython-35m-x86_64-linux-gnu.so
检查名为或的文件是否存在34 分钟或者36 分钟列出文件,找到后删除当前apt_pkg.so
文件
/usr/lib/python3/dist-packages# rm apt_pkg.so
apt_pkg.so
最后使用如下方法创建具有正确路径的链接:
/usr/lib/python3/dist-packages# sudo ln -s apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
现在您可以再试一次,它应该可以起作用。