6

私はUbuntuを初めて使用します...最初の単純なpythonプログラム「Hello World」を実行しようとしています...ターミナルで次のコマンドを実行した後

1. chmod +x filename.py 
2. ./filename.py

端末に次のエラーが表示されます " bash: ./filename.py: Permission denied" 問題を解決するにはどうすればよいですか?

4

3 に答える 3

8

Python ファイルの先頭に適切な呪文がありますか? 例えば、

#!/usr/bin/python (または代わりに#!/usr/bin/env python)

明確にするためにchmod +x、ファイルを実行可能にするだけで、実行しません。

そして、あなたのスクリプトはこれほど複雑なものではないように見えると思います:

#!/usr/bin/env python
print 'hello world'
于 2012-06-16T03:44:46.183 に答える
5

いくつかの可能性:

  1. と入力すると、何と表示されますumaskか? chmod +xumask がユーザー実行可能ビットをブロックしない場合にのみ、ファイルを実行可能にします。0022 のような典型的な umask はユーザー実行ビットをブロックしませんが、0122 のような umask は可能です。(詳細については、の説明セクションを参照してchmod(1)ください。)

  2. Python スクリプトなどのスクリプトを実行するには、読み取り権限も必要です。chmod u+rx filename.pyスクリプトをもう一度実行してみてください。

  3. また、ファイルの先頭にある「ハッシュバン」行でファイルに指定したインタープリター (例: #!/usr/bin/env python) が実行可能でない可能性もありますが、私の経験では別のエラー メッセージが表示されます。

于 2012-06-16T03:51:41.420 に答える
4

新しいシステムで同じ問題に対処します。

これを解決しようとしたのは 3 回目で、あなたの投稿は Google の検索結果に表示される最初の投稿です。私の投稿は遅れていますが、同じ問題を抱えている別のユーザーに役立つと思います.

私の場合、それはパーティションテーブルのセットアップに関するものでした。

/etc/mtab ファイルで、python スクリプトがどのように保存されているかを確認してください。句があるかどうかを確認します: noexec

noexecは、パーティションでの実行を禁止するフラグです。デフォルトでは、exec で設定されています。しかし、時々、このようなことが起こります。

今、ここでうまく機能しています。

于 2015-11-28T14:54:13.470 に答える