Não é possível encontrar o executável (pipsi) no meu PATH, mesmo que meu PATH esteja configurado corretamente e as permissões também estejam corretas no ZSH

0

Acabei de instalar pipsi . Estou no Mac OS X Yosemite e estou usando o iTerm e executando zsh via oh-my-zsh .

Meu problema é que recebo o seguinte:

~ >>> pipsi
zsh: command not found: pipsi


~ >>> which pipsi
pipsi not found


~ >>> echo $PATH
~/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin


~ >>> cd ~/.local/bin


~/.local/bin >>> ls -al
total 8
drwxr-xr-x  3 jon  staff  102 Feb 23 19:25 .
drwxr-xr-x  5 jon  staff  170 Feb 23 19:25 ..
lrwxr-xr-x  1 jon  staff   39 Feb 23 19:25 pipsi -> /Users/me/.local/venvs/pipsi/bin/pipsi


~/.local/bin >>> cat pipsi
#!/Users/jon/.local/venvs/pipsi/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from pipsi import cli

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(cli())


~/.local/bin >>> pipsi
pipsi not found

Não consigo entender por que o sistema simplesmente não parece correto no diretório ~/.local/bin e ver o executável pipsi ali e executá-lo. Por que ele informa pipsi not found ?

    
por jononomo 24.02.2015 / 01:53

1 resposta

3

De acordo com as informações apresentadas na sua pergunta, sua variável $PATH está configurada assim:

~ >>> echo $PATH
~/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Não tenho certeza de onde você está definindo sua variável $PATH , mas acredito que usar o ~/ não funcionará no contexto $PATH variable; Não acredito que ~/ seja expandido adequadamente para /Users/jon/ . Então, eu recomendaria ajustar isso:

~/.local/bin

Por isso, está apontando explicitamente para o seu diretório inicial:

/Users/jon/.local/bin

Outra ótima idéia / sugestão baseada no comentário de Gordon Davisson é que, de alguma forma, você está definindo ~/.local/bin com aspas duplas em torno dela. Algo assim:

PATH="~/.local/bin:$PATH"

O ~/ colocado entre aspas duplas nunca será expandido para o caminho inicial completo nesse contexto. Então, tente colocar fora das citações como esta:

PATH=~/.local/bin:"$PATH"

Ou talvez até mesmo faça algo diferente e use a variável $HOME entre aspas duplas como esta:

PATH="$HOME/.local/bin:$PATH"

Então, novamente, tudo se baseia em como os seus dados específicos da variável $PATH são manipulados na configuração do shell do usuário. Então, ajuste e ajuste com base em suas necessidades específicas.

    
por 24.02.2015 / 02:04