Eu criei um link simbólico (ontem) assim:
sudo ln -s bin/python /usr/bin/prj-python
Quando eu corro:
prj-python file.py
Eu recebo:
prj-python: command not found
Quando tento criar o link novamente, recebo:
ln: criando o link simbólico `/ usr / bin / prj-python ': o arquivo existe
Por que isso está acontecendo? Meu $PATH
é:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / jogos: / opt / real / RealPlayer
pwd
é/home/xralf/my_virtual_env
e tem subdiretóriobin
compython
comando$PWD/
antesbin
.Coisas a verificar:
ls -l /usr/bin/prj-python
Se é assim:
lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python
O arquivo será pesquisado em / usr / bin / bin / python (é o que o xralf tentou dizer). Consertar:
rm /usr/bin/prj-python
ln -s /full/path/to/your/python /usr/bin/python-prj
bin/python
é um shell script (também conhecido como wrapper-script), verifique a linha #! - (às vezes chamada shebang -line) na primeira linha. Se houver um erro de digitação,#!/bin/bush
isso também causará uma mensagem de erro não encontrada .fonte
ln -s $PWD/python /usr/bin/python-prj
.$PWD
é usado para obter o caminho completo.