Por que o python-pip é mantido no Ubuntu 14.04?

3

Quando eu atualizo esses dias, recebo esta mensagem:

$ sudo apt-get upgrade -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  libhwloc-plugins linux-headers-generic linux-signed-generic
  linux-signed-image-generic python-pip
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Eu não entendo porque python-pip é retido. É porque eu já atualizei por pip ?

$ pip -V
pip 7.0.3 from /usr/local/lib/python2.7/dist-packages (python 2.7)

Está seguro agora para atualizar python-pip com apt-get ?

Atualização:

$ sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  python-chardet-whl python-colorama-whl python-distlib-whl
  python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl
  python-six-whl python-urllib3-whl
Recommended packages:
  python-dev-all python-wheel
The following NEW packages will be installed:
  python-chardet-whl python-colorama-whl python-distlib-whl
  python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl
  python-six-whl python-urllib3-whl
The following packages will be upgraded:
  python-pip
1 upgraded, 9 newly installed, 0 to remove and 4 not upgraded.
Need to get 1,193 kB of archives.
After this operation, 1,438 kB of additional disk space will be used.
    
por eccstartup 22.06.2015 / 03:07

2 respostas

5

Quando um pacote é marcado como 'retido', isso significa que o apt não irá atualizá-lo automaticamente, pois agora ele tem uma dependência extra que você nunca concordou em instalar. Quando você instala especificamente com sudo apt-get install python-pip , ele retorna a mensagem dizendo que os seguintes pacotes serão instalados para satisfazer os requisitos de dependência:

python-chardet-whl python-colorama-whl python-distlib-whl 
python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl
python-six-whl python-urllib3-whl

Estes são todos os novos pacotes que não estão presentes no seu sistema. Ao invés de supor que você quer que eles sejam instalados, o apt 'retém' o pacote até que você o informe especificamente para instalá-lo. Se você não se importa com esses novos pacotes sendo instalados (você provavelmente não se importa), então concorde com a instalação.

Se você quiser atualizar tudo e não se importar de instalar novas dependências, o comando sudo apt-get dist-upgrade instalará todas as atualizações e incluirá novas dependências necessárias para os pacotes atualizados. Tenha cuidado porque às vezes uma nova dependência significa que um pacote de software inteiro é puxado (por exemplo, gnome-desktop exigirá o download e a instalação de várias dependências).

    
por Aaron D 22.06.2015 / 03:31
1

No seu caso, corra

sudo apt-get dist-upgrade

em vez de

sudo apt-get upgrade

Para ver as diferenças, leia a página do manual:

man apt-get

upgrade

Used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list(5). Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, nor are packages that are not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available.

dist-upgrade

In addition to performing the function of upgrade, this option also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones, if necessary.
The /etc/apt/sources.list(5) file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for over-riding the general settings for individual packages.
    
por A.B. 22.06.2015 / 07:04