Instalando pacotes com dependecies do Python - “Você realizou pacotes quebrados”

2

Estou tentando instalar alguns pacotes com o apt-get no Ubuntu, mas recebo um erro semelhante em alguns deles. Parece que há algo errado com meus pacotes python desde que recebi a mensagem "Você realizou pacotes quebrados".

~$ sudo apt-get install ranger Reading package lists... Done Building dependency tree        Reading state information... Done 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:  ranger : Depends: python:any (< 2.8)
          Depends: python:any (>= 2.7.5-5~)
          Recommends: python-chardet but it is not going to be installed E: Unable to correct problems, you have held broken packages.

~$  python -V
Python 2.7.13
~$  python3 -V
Python 3.5.2

dpkg --get-selections | grep hold não me dá nada, então não consigo encontrar o que está sendo retido. Como na saída acima, o python 2, que veio com o ubuntu e o python 3 que foi instalado por mim, está lá, mas ainda assim recebo o erro. Isso é um sintoma de mim instalando adequadamente o python, ou há outra correção para isso?

    
por Hannes Birgersson 02.04.2017 / 10:44

1 resposta

2

O problema parece ter sido que eu instalei manualmente o Python em uma versão mais recente do que a distribuição fornece. Quando o apt-get tenta reparar a instalação, ele precisa fazer downgrade, o que só é possível se você especificar que deveria.

Criando um arquivo /etc/apt/preferences.d/allow-downgrade contendo

Package: *
Pin: release o=Ubuntu
Pin-Priority: 1001

e depois executando

apt-get update
apt-get upgrade
apt-get -f install
apt-get update

resolveu o problema.

Para uma fonte e uma resposta mais detalhada:

link

    
por Hannes Birgersson 03.04.2017 / 10:18