web-dev-qa-db-ja.com

LinuxでPythonスクリプトを実行中

UbuntuでShebangを使用してPythonスクリプトを実行しようとしています。pythonスクリプトを作成すると

    #! /usr/bin/env python
    import sys

...実行すると、シェルエラーが発生します。

    root@Host:/home/user# ./test.py
    : No such file or directory

どうすればそれを機能させることができますか?

解決策:dos2unixで終わる行から '\ r'を削除します。

2
Alex

スクリプトは実行可能だと思いますか?また、キャリッジリターンを確認してください。ウィンドウに汚れた小さな手が付いている可能性がありますか?これは「cat-vEtest.py」で確認し、「\ r」を探すことができます。

11
Kyle Brandt

ファイルにWindowsの行末がある可能性があります。 dos2unixを実行してみてください。

4
Bill Lynch

#の間のスペースを削除してみてください!および/ usr/bin/envですが、パッケージをインポートしないときになぜそれが機能するのかわかりません...

1

あなたは確かにあなたが思う理由でエラーが起こっていると思いますか?または、(スクリプトの後半で)ファイルを開こうとしていますか?物事を機能させるための最も単純なケースから始めてください...

hello.py:

#!/usr/bin/env python
print "Hello, world"

その後...

$ chmod +x hello.py
$ ./hello.py
Hello, world
$
0
dwc

以下の1つのライナーを使用して、改行文字を削除します。

Perl -e's/\ r // g'-w -p -i test.py

または

sed -e "s/^ M //" test.py> test_new.py

0
prasanna