Utworzyłem link symboliczny (wczoraj) w następujący sposób:
sudo ln -s bin/python /usr/bin/prj-python
Kiedy biegnę:
prj-python file.py
Dostaję:
prj-python: command not found
Kiedy próbuję ponownie utworzyć link, otrzymuję:
ln: tworzenie dowiązania symbolicznego `/ usr / bin / prj-python ': Plik istnieje
Dlaczego tak się dzieje? Mój $PATH
jest:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / opt / real / RealPlayer
pwd
jest/home/xralf/my_virtual_env
i ma podkatalogubin
zpython
polecenia$PWD/
wcześniejbin
.Rzeczy do sprawdzenia:
ls -l /usr/bin/prj-python
Jeśli tak, to:
lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python
plik zostanie przeszukany w / usr / bin / bin / python (to właśnie próbował powiedzieć xralf). Naprawić:
rm /usr/bin/prj-python
ln -s /full/path/to/your/python /usr/bin/python-prj
bin/python
skrypt powłoki (aka. Wrapper-script), sprawdź linię #! - (czasami nazywaną shebang -line ) w pierwszej linii. Jeśli występuje taka literówka#!/bin/bush
, spowoduje to również komunikat o błędzie, który nie został znaleziony .źródło
ln -s $PWD/python /usr/bin/python-prj
.$PWD
służy do uzyskania pełnej ścieżki.