J'ai créé un lien symbolique (hier) comme ceci:
sudo ln -s bin/python /usr/bin/prj-python
Quand je cours:
prj-python file.py
Je reçois:
prj-python: command not found
Lorsque j'essaye de recréer le lien, j'obtiens:
ln: création du lien symbolique `/ usr / bin / prj-python ': le fichier existe
Pourquoi cela se produit-il? Mon $PATH
est:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / opt / real / RealPlayer
pwd
est/home/xralf/my_virtual_env
et il abin
avec lapython
commande$PWD/
auparavantbin
.A vérifier:
ls -l /usr/bin/prj-python
Si c'est comme:
lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python
Le fichier sera effectivement recherché dans / usr / bin / bin / python (c'est ce que xralf a essayé de dire). Réparer:
rm /usr/bin/prj-python
ln -s /full/path/to/your/python /usr/bin/python-prj
bin/python
est un script shell (aka. Wrapper-script), vérifiez la ligne #! - (parfois appelée shebang -line) à la première ligne. S'il y a une faute de frappe comme#!/bin/bush
celle-ci, un message d'erreur non trouvé sera également généré.la source
ln -s $PWD/python /usr/bin/python-prj
.$PWD
est utilisé pour obtenir le chemin complet.