Я нахожусь на Kubuntu 19.10, и я создал python 3.8 из источника и установил его с помощью checkinstall. Я затем удалил его, и это так или иначе повредило python 2.7. Если я пытаюсь установить кого-либо python-*
пакет это производит ошибку как этот:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
python-dev : Depends: python (= 2.7.17-1) but 3.8.1-1 is to be installed
E: Unable to correct problems, you have held broken packages.
Я попробовал sudo dpkg --configure -a
но это ничего не делает.
Как я фиксирую это?
Править: apt-cache policy python
вывод:
python:
Installed: 3.8.1-1
Candidate: 3.8.1-1
Version table:
*** 3.8.1-1 100
100 /var/lib/dpkg/status
2.7.17-1 500
500 http://si.archive.ubuntu.com/ubuntu eoan/universe amd64 Packages
Python 3.8.1 был установлен под именем Python поэтому, что я сделал был выполнен sudo dpkg -r python
и это решило его.
Попытайтесь работать
ls -lh /usr/bin/python
видеть, ли Ваша версия Python по умолчанию 2.7. В противном случае посмотрите, установили ли Вам исполняемый файл python 2.7
ls /usr/bin/python*
Заставьте свой/usr/bin/python связать точки с правильной версией Python
rm /usr/bin/python
ln -s /usr/bin/python2.7 python
Fianlly, удостоверьтесь, что у Вас есть ссылка на python2.7 файл конфигурации в/usr/bin/. Например, у меня есть/usr/bin/python2-config указание на python2.7-конфигурацию
То, когда Вы создали свой пакет, похоже на Вас, назвал это 'Python' вместо 'python3.8'.
Это было неблагоразумно. Теперь система ожидает, что 'Python' будет версией 3.8 вместо 2,7.
Как зафиксировать его, если у Вас есть много пакетов Python2, которые Вы не хотите переустанавливать:
1) Сделайте полное резервное копирование всех своих данных и рабочего LiveUSB под рукой. Вы собираетесь быть использующей очень сильной медициной. У пациента могут быть неожиданные сложности.
2) Удостоверьтесь, что все трассировки созданного пакета Python 3.8 удалены.
3) Удалите все файлы, установленные python
пакет при отъезде остальной части пакетов Python2.7 на месте.
sudo dpkg remove python --force-depends
// 'python' places no files in /etc, so 'remove' is appropriate.
4) Отбросьте все трассировки python
пакет от Вашей apt/dpkg базы данных. ПРЕДУПРЕЖДЕНИЕ: Если неправильно используется, эта команда может разрушить Вашу систему.
sudo dpkg remove python --force-depends --force-remove-reinstreq
5) Переустановите корректное python
пакет:
sudo apt install python