Böyle bir dosya veya dizin yok ama görebiliyorum!


11

WinSCP kullanarak başsız bir ahududu PI bir python komut dosyası çalıştırmak ve aşağıdaki hata iletisini alıyorum:

Command '"./areadetect_movie_21.py"'
failed with return code 127 and error message
/usr/bin/env: python
: No such file or directory.

Terminalden çalışmayı denediğimde:

: No such file or directory.

Ben aynı dizinde, aynı python shebang, aynı izinleri ve aynı kullanıcı pi kullanarak benzer bir python komut dosyası deneyin ve çalışır.

Ben de bir lsve dosyayı görebiliyorum, bu yüzden neden çalışmaz bilmiyorum.


1
Windows'ta `` areadetect_movie_21.py '' dosyasını düzenlediniz mi? Bunu gördüyseniz askubuntu.com/a/372691 .
Arkadiusz Drabczyk

tutulmada evet, neden?
reggie

Ekledikten sonra yorumumu düzenledim. Bu askubuntu.com/a/372691 adresine bakın .
Arkadiusz Drabczyk

evet evet evet çalıştı, çok teşekkürler! Yorumunuzu bir cevaba dönüştürebilir miyim, böylece kabul edebilirim.
reggie

Tamam, yaptım :)
Arkadiusz Drabczyk

Yanıtlar:


28

Gönderen Ask Ubuntu tarafından cevap Gilles :

“: Böyle bir dosya veya dizin yok” hatasını görüyorsanız (iki nokta üst üste işaretinden önce hiçbir şey yok), muhtemelen Windows altında düzenlendiği için (çünkü CR, LF kullanan satır ayırıcı). CR karakteri, kabuk iletinin başlangıcını yazdırdıktan sonra imlecin satırın başına gitmesine neden olur ve böylece CR'den sonra yalnızca hata iletisinin bir parçası olan yorumlayıcı dizesini sonlandıran bölümü görürsünüz.

CR'yi çıkarın: shebang hattının bir Unix satırının bitmesi gerekir (yalnızca satır besleme). Python'un kendisi CRLF satır sonlarına izin verir, bu nedenle diğer satırlardaki CR karakterleri zarar vermez. Diğer taraftan, kabuk betimlerinde CR karakterleri bulunmamalıdır.

Windows satır sonlarını kaldırmak için dos2unix komutunu kullanabilirsiniz :

sudo dos2unix / usr / local / bin / casperjs

veya sed:

sudo sed -i -e 's / \ r $ //' / usr / local / bin / casperjs

Windows altında komut dosyalarını düzenlemeniz gerekiyorsa, Unix satır sonlarıyla başa çıkabilen bir düzenleyici kullanın (yani Not Defteri'nden daha az beyin ölmüş bir şey) ve bir Unix dosyasını düzenlerken Unix satır sonları (yalnızca LF) yazacak şekilde yapılandırıldığından emin olun.


1
Ben, Windows PC'de not defterinde ssh aracılığıyla pi üzerinde dosyayı açtı ve taşıma dönüş kaldırıldı ve çalışıyor :) Çok teşekkürler.
reggie
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.