sudo python xxx.pyを使用するか、python xxx.pyまたはxxx.pyを使用する必要がある場合
質問
私はウェブサイトを書いています、私が私を混乱させたのは、私がウェブサイトを実行したとき、最初にアプリを開始する必要があるので、3つの方法があります。
- sudo python xxx.py
- python xxx.py
- xxx.py
私はそれらのそれぞれの使用方法を明確にしていませんでした、私のコンピューターの現在のNo.3の方法はうまく機能しません
解決
sudo
スーパーユーザーの権限を使用してアプリケーションを実行します。あなたがウェブサイトを参照していることを考えると、これは確かです いいえ あなたがしたいこと。 (WebAppの場合、スーパーユーザーの権限が必要な場合、それは壊れています。それは、実際に使用することを検討するにはあまりにも大きすぎます。)
他の状況では、何らかのシステムを維持し、ルートとして実行する必要があるPythonプログラムがある場合があります。この場合、使用します sudo
, 、しかし、あなたはそうするでしょう 一度もない 公にアクセスしやすく、潜在的に悪用される可能性のある何かのためにこれをしたい。実際、テスト以外の場合は、おそらくアクセスが非常に制限されている別のユーザーとしてWebAppを実行する必要があります(たとえば、シェルが設定されています。 /dev/null
, 、彼らが必要としないものへの読み取りまたは書き込みアクセスなど...)。
他の2つは効果的に同一です(それらが行うことのサーマで)が、最後のオプション(スクリプトを直接実行する)には次のことが必要です。
- 設定する実行可能ビット(UNIX-Y Systems)(例:
chmod +x whatever.py
) - a シバン 最初の行(例:
#! /usr/bin/python
)あなたが物事を実行したいPython実行可能なPythonを指して(繰り返しますが、これはUnix-yシステムにのみ適用されます)
Pythonを呼び出してコードを実行します(python whatever.py
)および上記の手順に従ってください(結果として直接呼び出すことができるスクリプトが得られます whatever.py
)まったく同じことをしてください(PythonファイルのShebangが同じPython実行可能ファイルを指していると仮定して」python
「とにかく...)