Ich habe einen symbolischen Link (gestern) wie folgt erstellt:
sudo ln -s bin/python /usr/bin/prj-python
Wenn ich renne:
prj-python file.py
Ich bekomme:
prj-python: command not found
Wenn ich erneut versuche, den Link zu erstellen, erhalte ich Folgendes:
ln: Symbolische Verknüpfung erstellen `/ usr / bin / prj-python ': Datei existiert
Warum passiert das? Mein $PATH
ist:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / opt / real / RealPlayer
pwd
ist/home/xralf/my_virtual_env
und es hat Unterverzeichnisbin
mitpython
Befehl$PWD/
vorbin
.Dinge zu überprüfen:
ls -l /usr/bin/prj-python
Wenn es so aussieht :
lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python
Die Datei wird tatsächlich unter / usr / bin / bin / python durchsucht (das hat xralf versucht zu sagen). Fix:
rm /usr/bin/prj-python
ln -s /full/path/to/your/python /usr/bin/python-prj
bin/python
es sich um ein Shell-Skript handelt (auch bekannt als Wrapper-Skript), überprüfen Sie die #! - Zeile (manchmal auch als Shebang- Zeile bezeichnet ) in der ersten Zeile. Wenn ein solcher Tippfehler auftritt#!/bin/bush
, wird auch eine nicht gefundene Fehlermeldung ausgegeben.quelle
ln -s $PWD/python /usr/bin/python-prj
.$PWD
wird verwendet, um den vollständigen Pfad zu erhalten.