Я запускаю 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
В моем случае, потому что у меня есть 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
управляйте работает снова.
Важно понимать, что иногда при обновлении с более старой версии Python некоторые пакеты остаются в пути предыдущей версии, поэтому вот что я сделал:
cd /usr/lib/python3/dist-packages
проверьте наличие файла с именем apt_pkg.cpython-35m-x86_64-linux-gnu.so
или 34m или 36m, перечислив файлы и когда вы найдете удалите текущий apt_pkg.so
файл
/usr/lib/python3/dist-packages# rm apt_pkg.so
и, наконец, создайте ссылку с правильным путем, используя apt_pkg. так
вот так:
/usr/lib/python3/dist-packages# sudo ln -s apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
Теперь вы можете попробовать еще раз и Он должен работать.