pythonを明示的に呼び出さずにlinuxでpythonスクリプトを実行しようとしています。 私の目標は$ myscript.py
に私のスクリプトを実行させることです。現在は$ python myscript.py
と呼ばれていますが、使いやすさのために余分なコマンドを入力する必要はありません。私は適切なpython呼び出しを得るために私のスクリプトの最初の行にシバン行を追加しました。私は次の両方の行を試したが、どちらも私のために働いていない。Linuxでshebang行を使ってpythonスクリプトを実行する権限が拒否されました
#!/usr/bin/env python2.7
#!/usr/local/bin/python2.7
問題は、私はまた、私は、ファイルにls -ltr
を行うと、私は
-rwxrwxr-x 1 uname users 3544 Jul 7 08:46 myscript.py
-rwxr-xr-x 1 root root 6231413 Jul 7 00:57 /usr/local/bin/python2.7
スクリプトおよび実行可能ファイルの実行権限を持って、次の行動
$ python2.7 myscript.py # This will run
$ myscript.py # This is the error
$ ./myscript.py # This will also error
: Permission denied # Error message
をすることができ得るということですいずれかのシバン行に書かれているものをコマンドラインに入力してpythonを呼び出します。
/usr/bin/env python2.7
/usr/local/bin/python2.7
両方とも端末で実行されます。
私は以下のstackoverflowの問題を突き抜けましたが、なぜこの問題が私に起こっているのか答えられないようです。
bash permission denied for python
Python script: problems with shebang line (unix)
試した '。/ myscript.py'? –
'ls -l/usr/local/bin/python2.7'を実行すると何が表示されますか? – Jack
"Permission denied"は本当に奇妙です。通常は 'PATH'は' .'を含んでいません。その場合、シェルは "command not found"のようなものを言うでしょう。あなたはスクリプトの名前について確かですか?あなたのユーザ名は文字通り「uname」ですか、それとも単に匿名化されていますか?どのバージョンのBashを実行していますか? – l0b0