UbuntuでShebangを使用してPythonスクリプトを実行しようとしています。pythonスクリプトを作成すると
#! /usr/bin/env python
import sys
...実行すると、シェルエラーが発生します。
root@Host:/home/user# ./test.py
: No such file or directory
どうすればそれを機能させることができますか?
解決策:dos2unixで終わる行から '\ r'を削除します。
スクリプトは実行可能だと思いますか?また、キャリッジリターンを確認してください。ウィンドウに汚れた小さな手が付いている可能性がありますか?これは「cat-vEtest.py」で確認し、「\ r」を探すことができます。
ファイルにWindowsの行末がある可能性があります。 dos2unixを実行してみてください。
#の間のスペースを削除してみてください!および/ usr/bin/envですが、パッケージをインポートしないときになぜそれが機能するのかわかりません...
あなたは確かにあなたが思う理由でエラーが起こっていると思いますか?または、(スクリプトの後半で)ファイルを開こうとしていますか?物事を機能させるための最も単純なケースから始めてください...
hello.py:
#!/usr/bin/env python
print "Hello, world"
その後...
$ chmod +x hello.py
$ ./hello.py
Hello, world
$
以下の1つのライナーを使用して、改行文字を削除します。
Perl -e's/\ r // g'-w -p -i test.py
または
sed -e "s/^ M //" test.py> test_new.py