Ao usar o sudo para executar o pip “pip: command not found”, mas está instalado

25

sudo easy_install pip

Searching for pip
Best match: pip 1.4.1
Processing pip-1.4.1-py2.7.egg
pip 1.4.1 is already the active version in easy-install.pth
Installing pip script to /home/nyzlfc/.local/bin
Installing pip-2.7 script to /home/nyzlfc/.local/bin
Using /home/nyzlfc/.local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

E então quando eu corro

sudo pip install -U pyyaml nltk

Eu recebo:

sudo: pip: command not found
Rohan Naik
fonte

Respostas:

34

Se você instalar o pip a partir dos repositórios do Ubuntu, o pip funcionará com o sudo (usei o pip dessa maneira entre 12.04 e 14.04).

O sudo apt-get instala o python-pip

NGRhodes
fonte
5
Você nem sempre precisa usar o sudo para instalar os módulos python. você pode defini-los para o usuário usando pip install --user ipdb (por exemplo) - a partir daí, eles são instalados em ~ / .local / lib / python-ver / e os compartimentos são colocados em ~ / .local / bin / então adicione ~ / .local / bin ao seu $ PATH e você estará g2g com o uso não-sudo do pip.
lazyPower
Bom ponto, eu estava trabalhando no fato de que a pergunta estava usando o sudo, que a instalação com o sudo era desejada. Eu geralmente fazer o meu código é utilizado por usuários diferentes no mesmo sistema
NGRhodes
8

Seu pip está instalado /home/nyzlfc/.local/bin, o que não está no sudocaminho e por um bom motivo. Basta adicionar ~/.local/binao seu caminho e se afastar sudo, pois é desnecessário.

Braiam
fonte
4

Eu tive o mesmo problema, e a razão pela qual tive esse problema (no debian) é porque instalei o python3.2 e o python3-pip e, como tal, eu realmente não tinha um executável pip, também não tinha um executável pip3 . Tenho pip-3.2 executável !!

Como tal, eu também recomendaria fazer

sudo pip

e depois pressionar tab para ver as opções de preenchimento automático ...

patapouf_ai
fonte
Marque um sudo com +1 e pressione a tecla tab para ver as opções de preenchimento automático ... fez o trabalho por mim.
Almir Campos
3

Primeiro verifique sua $PATHvariável usando o echocomando:

$ echo $PATH

Se /usr/local/binestiver faltando, edite o arquivo oculto .profile, localizado no diretório inicial. Se esse arquivo estiver ausente, edite .bash_profile.

Adicione como última PATHdeclaração a seguinte linha:

PATH=$PATH:/usr/local/bin
ManojB
fonte
0

Se você não gosta de instalar um novo pacote (para garantir que ele não mexa no seu ambiente python atual), sugiro mudar para o root apenas para instalação. Eu achei mais fácil. Mas não se esqueça de voltar logo após a instalação.

Mojtaba Komeili
fonte
0

Eu sempre me esquecendo!

  • Eu instalei o pip no ~/.local/bin
  • ao fazer um pip install package, recebo um PermissionDeniedem algum lugar /usr/local/share/, com a solução amigávelConsider using the '--user' option or check the permissions.

Portanto, faça: pip install --user package(a menos que você precise deste pacote globalmente / também para outros usuários)

tokosh
fonte
0

se você instalou no python3, então você pode fazer é python3 -m pip install package_name

tsheri sherpa
fonte