Como atualizar o pip para o mais recente?


51

Eu instalei pip usando get-pip.pydepois que pip freezelança abaixo do erro

Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run
    req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 299, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

Storing debug log for failure in /home/simon/.pip/pip.log

Então eu verifiquei 1.7 é o mais recente. Se eu segui as etapas abaixo e não está atualizando ... Ajude-me aqui ...

simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip install -U pip
Downloading/unpacking pip
  Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
Successfully installed pip
Cleaning up...
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)

11
sudo -H PIP3 instalar pip --upgrade
moldovean

Respostas:


54

Normalmente, apenas executo os seguintes comandos para atualizar pip2(= pippor padrão) e pip3:

sudo -H pip3 install --upgrade pip
sudo -H pip2 install --upgrade pip

Você deve certificar-se de atualizar a versão (para Python 2 ou 3), a qual deseja reagir no comando pipsem número, por último.

Observe também que isso mantém as versões antigas empacotadas instaladas por meio de apt-getqualquer outro gerenciador de pacotes, mas adiciona novas versões que não têm nada a ver com os pacotes do sistema. Os pippacotes instalados serão preferidos, mas você também não deve remover apt-getos pacotes pipinstalados , porque o gerenciador de pacotes não pode saber que qualquer versão está instalada de outra forma.


3
Por que é importante voltar para casa sudo -H?
Léo Léopold Hertz #

11
@ Masi Porque pipquer gravar seus arquivos baixados em algum lugar para armazená- los em cache. Ele foi implementado para colocá-los em uma subpasta do diretório inicial do usuário atual. Se você o estiver executando sem -Hqueixas, ele detecta que o diretório inicial atualmente definido (usuário normal) não corresponde ao usuário em que é executado (root). Se ele escrevesse seus arquivos no diretório inicial, eles seriam de propriedade do root e não mais acessíveis a você como usuário normal. Portanto, ele não armazena em cache os arquivos neste caso. Não é terrível omitir o -Hque o pipdetecta e avisa.
Byte Commander

11
Por que os dois comandos apenas substituem o pipcomando? Quando eu atualizo, pip2ele não atualiza o pip2comando, apenas pip.
Yep_It's_Me

@ Yep_It's_Me, isso ocorre porque pipé relativo à versão do python que você está chamando. e é por isso que seus comandos são pip2& pip3respectivamente chamam a versão apropriada do python para atualizar o pip. Isso faz sentido?
JayRizzo 20/01

27

Eu acho que o

pip install --upgrade pip

O comando não funciona mais corretamente. O comando correto deve ser:

  • para Python 3:

    python3 -m pip install --upgrade pip
  • para Python 2:

    python2 -m pip install --upgrade pip

Gg @ david-foerster
JayRizzo 20/01

No Linux, basta usar pip install -U pip(consulte Atualizando o pip )
Eido95

11
Eu tive problemas ao atualizar o pip a partir da raiz (em uma imagem do Docker) e isso funcionou como um encanto.
Cristian Ramon-Cortes

Funcionou como um encanto no Linux mint
HelloWorld

5

Acesse este site https://pypi.python.org/pypi/pip

copiar (ou) baixar o link de origem (termina em .tar.gz)

para 9.0.1, o link é https://pypi.python.org/pypi?:action=show_md5&digest=35f01da33009719497f01a4ba69d63c9

Procedimento de instalação

wget //link goes here
tar -xzvf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python3 setup.py install

a versão deve ser alterada para a versão mais recente e o link pode ser atualizado com o link da versão mais recente

isso deve funcionar


essa é a única coisa que funcionou para mim, já que todo o resto precisa de uma conexão com o servidor a partir do shell, que novamente falha com o mesmo erro.
Alok Rajasukumaran

1

pip install -U pip

O mais curto que eu conheço.


1

Eu acho que vale a pena mencionar que o que estou explicando abaixo é se você espera que o pip aponte para Python 2 e o pip3 aponte para Python 3. O motivo pelo qual mencionei isso é porque, quando você atualiza o pip3, ele também assume o comando pip como bem. Essa é uma convenção um tanto estranha, porque, por padrão, o python aponta para 2.xe python3 aponta para 3.x. Dito isto ...

Se você deseja que as versões mais recentes do python 2.x pip e python 3.x pip3 coexistam na mesma máquina (usando o pip para 2.xe pip3 para 3.x), faça o seguinte:

sudo apt-get install python-pip python3-pip --yes
sudo python3 -m pip install pip --upgrade --force
sudo python -m pip install pip --upgrade --force # this line associates pip with Python 2

As outras respostas fornecidas por outras pessoas não mencionam que, após executar o sudo pip3 install pip --upgrade, você terminará com o comando pip instalando pacotes nos diretórios python 3.x em vez dos diretórios python 2.x.

Parte de mim pensa que devemos deixar o pip após a atualização do pip3 (mesmo se pip -> pip3), mas há um perigo de que as pessoas já tenham uma expectativa de que o pip funcione como python - ambos apontando para o python 2.x. Em outras palavras, as pessoas provavelmente são treinadas para usar pip / python para python 2.x, assim como são treinadas para usar pip3 / python3 para python 3.x.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.