./myscript.pyを使用してUbuntuシステムでPythonスクリプトを実行します。

./myscript.pyを使用してUbuntuシステムでPythonスクリプトを実行します。

Ubuntuコンピュータでmyscript.pyというPythonスクリプトを実行しています。私は通常、次のようにpythonコマンドを使用してPythonスクリプトを実行します。

python main.py

最近、GithubリポジトリからPythonスクリプトをダウンロードしました。リポジトリを見るにはここにあります。https://github.com/gsrivas4/mnist-gan)、以下のように「./」を使用してスクリプトを実行する必要があります。

./main.py

Pythonスクリプトを実行する2番目の方法は私にとって新しい方法です。 「./」を使用してスクリプトを実行できるかどうか、この方法で他の言語のスクリプトも実行できるかどうかは混乱しています。通常、スクリプト名を追加する前にプロセスを起動するPythonなどのバイナリ名を想定しています。スクリプトがプロセスに入力されます。また、スクリプトを実行するときに「./」の意味が何であるかを知りたいです。これはマイナーな質問のようですが、オンラインでは多くの助けが見つかりません。

また、Pythonファイルの1つを実行可能にしてから実行してみました。ただし、./で実行すると、Pythonライブラリのインポートコマンドでエラーが発生します。

ベストアンサー1

./現在の作業ディレクトリを表す相対パス。自分のファイルではなくファイルを実行するときは、フルパスまたはPATH相対パスを前に付ける必要があります。./これは最も簡単な方法ですが、このようなフルパスを使用しても機能します。/path/to/script.py

Pythonスクリプトを実行するとエラーが発生する理由は次のとおりです。

./script.py

代わりに:

python script.py

その理由は、スクリプトの実行時に使用するインタプリタを知らせる hashbang(shebang) インタプリタ行が一番上にないためです。 bashまたはスクリプトの実行に使用するシェルを使用して実行を試みることができます。 (望むよりShebangなしでスクリプトを実行するシェルインタプリタとは何ですか?)


Pythonを使用してスクリプトを正しく実行するには、スクリプトの最初の行に次を追加します。

#!/usr/bin/env python

おすすめ記事