7

私はプログラミングは初めてで、Python は私の最初の言語です。パスに Python を追加しましたが、コマンド プロンプトを使用する場合、これまでに見た多くのチュートリアルとは対照的に、myscript.pyの前に python を追加する必要はありません。次に例を示します。

C:\User\MyName>Welcome.py
Welcome to Python
Python is fun

「python」と入力すると、次のエラーが発生します。

C:\User\MyName>python Welcome.py
python: can't open file 'Welcome.py': [Errno 2] No such file or directory

「python」は本当に必要ですか?前もって感謝します!

4

3 に答える 3

4

Python on Windows の FAQに従っている場合、標準の Python インストーラーは、ファイルを open コマンドに関連付ける.py..\..\Python\python.exe "%1" %*自由を既に取っているようです。

Python スクリプトを実行可能にするにはどうすればよいですか?

Windows では、標準の Python インストーラーは既に .py 拡張子をファイルの種類 (Python.File) に関連付けており、そのファイルの種類にインタープリターを実行する open コマンドを提供します (D:\Program Files\Python\python.exe "%1" %*)。これは、スクリプトをコマンド プロンプトから「foo.py」として実行可能にするのに十分です。拡張子なしで「foo」と入力するだけでスクリプトを実行できるようにする場合は、PATHEXT 環境変数に .py を追加する必要があります。

誰がサンクしたでしょう!これは、4 年前、私が Windows マシンに初めて Python をインストールしたときとは異なります。

于 2013-07-19T23:23:44.330 に答える
1

はいといいえ。
それは本当にスクリプトがどのように書かれているかに依存します。

ほとんどの UNIX システム (Linux、Mac OS) では、#!/bin/pythonスクリプトの先頭に (最初の行として) 含めることができるため、コマンド ラインでファイル名を呼び出すだけでスクリプトを実行できます。その最初の行は、このファイルに python プログラムが含まれていることをシェルに伝えます。次に、シェルは python インタープリターを使用してファイルを実行します (翻訳: に変換します$ Welcome.py< $ /bin/python Welcome.py- python が明示的に呼び出されており、ファイルの最初の行にあるものと同じパスであることに注意してください)。

おそらく、Windows OS も同じように指示することができますが、私は自分でそれを行うことはできませんでしたし、一生懸命努力したこともありません (約 5 年前に Windows から離れました)。これが、明示的に を呼び出す必要がある理由ですpython
python を呼び出すと、OS に次のように伝えられますWelcome.py。これは、コマンド/bin/python Welcome.pyが UNIX システムで行うこととまったく同じです。

于 2013-07-19T23:14:31.813 に答える
1

通常のインストーラーを使用して Windows に python をインストールすると、インストールした python.exe に .py ファイルが関連付けられます。と入力するWelcome.pyと、Windows はローカル ディレクトリを検索し、次に PATH 変数内のすべてのパスで Welcome.py というプログラムを検索し、python 経由で実行します。これでうまくいったので、Welcome.py がパスまたはローカル ディレクトリのどこかにあることを意味します。

assoc .pyおよびコマンドを使用して、ファイルの関連付けを把握できftype Python.Fileます。およびコマンドも便利ですecho %PATH%echo %PATHEXT%

と入力するpython Welcome.pyと、Windows は PATH 変数のすべてのパスを検索して、'python' で始まり、PATHEXT の拡張子で終わるプログラムを探します。「python.exe」を見つけて実行します。次に Python は、現在のディレクトリで Welcome.py というスクリプトを探します。これがうまくいかなかったということは、Welcome.py がローカル ディレクトリにないことを意味します。Welcome.py への正しいパスを指定していれば、うまくいきました。

where Welcome.py(当然のことながら)コマンドを使用すると、Welcome.py がどこにあるかを確認できます。

Python が 1 つしかインストールされていない場合は、 を呼び出す必要はありませんpython myscript.py ...

于 2013-07-19T23:58:30.557 に答える