Я недавно установил python 3.7 на машине LTS Ubuntu 18.04.4 с помощью следующей команды:
sudo apt-get install python3.7
Я также выполнил следующую команду, так как я хочу, чтобы python 3.7 был выполнен как python3
:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
Впоследствии я следовал за предложением для выполнения этого:
sudo apt autoremove
И теперь когда я пытаюсь включить universe
репозиторий (add-apt-repository universe
), я получаю следующую ошибку:
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 28, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Большинство ответов, которые я нахожу, говорит мне переустанавливать python3-apt
как здесь и здесь, но это не работает.
Что еще я могу попробовать?
Здесь и вот также предложения, которые включают конкретно указывающий на dist установку Python, который является версией 3.6 для Ubuntu 18.04. Действительно ли безопасно сделать это? Разве этот Python не мог быть обновлен в какой-то момент?
Как оказалось, мое решение не состояло в том, чтобы точно зафиксировать почему apt-pkg
модуль не мог быть найден, а скорее понять DOS и don'ts установки другой версии Python к Ubuntu, чем дистрибутив один.
Я закончил тем, что удалил альтернативу, которую я добавил к точке python3 к python3.7
sudo update-alternatives --remove-all python3
и вместо этого фиксируя символьную ссылку для указания на оригинал 3.6 снова, как распределено с Ubuntu 18.04
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3
Кроме того, теперь я буду использовать команду python3.7
для всего мне нужен Python 3.7 для, который в основном просто создает мой virtualenv поэтому дело не в этом большая часть hazzle.
Урок извлечен!