Por que o pip -t não funciona no Ubuntu 15.04?

7

Eu tenho tido um problema estranho com o pip no Ubuntu 15.04. Quando tento instalar qualquer coisa usando a opção "-t" para colocá-lo em um diretório específico, ele falha com o seguinte erro:

error: can't combine user with prefix, exec_prefix/home, or install_(plat)base

Por exemplo, pip install -t <directory> <package> falha com este erro.

Meu pip é a versão 1.5.6 e minha versão do Python é 2.7.

Eu executei exatamente os mesmos comandos em meus sistemas 14.10 sem problemas, então só posso concluir que este é um problema que é específico para 15,04.

    
por djpetti 06.05.2015 / 04:50

2 respostas

7

Eu corri para o mesmo problema e o que eu notei é que o pip na distro padrão é antigo 1.5.6, a versão atual sendo 7.1.0. Como é difícil rastrear o problema, olhando lá e ali para a "agulha em uma pilha de feno", eu o removi e o instalei manualmente, como sugerido a seguir:

Este comentário: link mencionado nesta pilha: link

Remover pip:

sudo apt-get remove --auto-remove python-pip

Faça o download do script de instalação:

wget https://bootstrap.pypa.io/get-pip.py

Instale de volta:

sudo python get-pip.py

Vincular comandos ao bin:

sudo ln -s [PIP_HOME]/bin/pip /usr/local/bin/pip
sudo ln -s [PIP_HOME]/bin/wheel /usr/local/bin/wheel
sudo ln -s [PIP_HOME]/bin/easy_install /usr/local/bin/easy_install

Onde [PIP_HOME] é o diretório do pacote pip.

agora quando eu executo pip -V coloca:

pip 7.1.0 from /home/tiberiu/.local/lib/python2.7/site-packages (python 2.7)

Voltar para o meu problema de raiz, o comando pip install -r requirements.txt -t lib success com a versão mais recente.

    
por Tiberiu C. 03.08.2015 / 21:22
3

Eu acho que a resposta do @Tiberiu C acertou na cabeça. Eu não posso acreditar que o pip na distro é tão antigo. No entanto, essas etapas para resolvê-lo parecem ser um pouco trabalhosas, então eu queria propor que, se você já tiver easy_install em seu sistema, pode implementar a solução dele com a linha:

sudo easy_install -U pip

Primeiro, tentei fazer um upgrade automático de pip com:

sudo pip install --upgrade pip

No entanto, ele se recusará a substituir a versão da distribuição. Mas então me deparei com isso que me apontou para a solução acima.

    
por jeteon 13.02.2016 / 03:33