Tautan simbolik yang dapat dijalankan menghasilkan "perintah tidak ditemukan"


24

Saya membuat tautan simbolik (kemarin) seperti ini:

sudo ln -s bin/python /usr/bin/prj-python

Ketika saya menjalankan:

prj-python file.py

Saya mendapat:

prj-python: command not found

Ketika saya mencoba membuat tautan lagi, saya mendapatkan:

ln: membuat tautan simbolik `/ usr / bin / prj-python ': File ada

Mengapa itu terjadi? Saya $PATHadalah:

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / game: / opt / real / realPlayer

Jawaban:


21

Anda lupa tebasan awal sebelumnya bin/python. Ini berarti /usr/bin/prj-pythonsekarang menunjuk ke /usr/bin/bin/python. Apa yang ingin Anda tunjukkan?


Tidak ada garis miring awal. yang pwdadalah /home/xralf/my_virtual_envdan memiliki subdirektori bindengan pythonperintah
xralf

8
Daripada, Anda sudah lupa $PWD/sebelumnya bin.
rvs

Terima kasih, ini membantu. Saya menggunakan perintah ini seperti yang ada di buku.
xralf

25

Hal-hal yang perlu diperiksa:

  • Lakukan ls -l /usr/bin/prj-python

Jika itu seperti:

lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python

File tersebut sebenarnya akan dicari di / usr / bin / bin / python (itulah yang coba dikatakan xralf). Memperbaiki:

rm /usr/bin/prj-python
ln -s /full/path/to/your/python /usr/bin/python-prj

  • Jika bin/pythonskrip shell Anda (alias. Wrapper-script) periksa baris #! - (terkadang disebut shebang -line) di baris pertama. Jika ada kesalahan ketik seperti #!/bin/bushitu akan menyebabkan pesan kesalahan juga tidak ditemukan .

terima kasih, jawaban Anda bahkan lebih hati-hati dan mendidik. Maaf saya sudah menerima.
xralf

ini banyak membantu ... sebagian besar jawaban jika ditemukan adalah sekitar $ PATH
Ja8zyjits

Saya menggunakan ln tanpa parameter. Orang harus menggunakan ln -s memang, sehingga menciptakan tautan simbolik.
Cedric

Membantu, dan saya menggunakan ln -s $PWD/python /usr/bin/python-prj. $PWDdigunakan untuk mendapatkan path lengkap.
Manwal
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.