#!/usr/bin/env python
それをスクリプトの先頭に置きました。 python programname.py
を必要とせずに、コマンドラインからスクリプトを実行可能にする必要があることを見てきました。誤解していない限り、スクリプトの先頭に上記の行がある限り、programname.py
を使用できるはずです。これは正しいです?
私にとってはうまくいきません。「呼び出し」の開始時にpython
を使用する必要があることを示すエラーが表示されるだけです。
シバンなしでほぼ普遍的に実行できます(#!
)と
python myscript.py
またはほぼ同等(現在のディレクトリをパスに配置し、myscript
という名前のモジュールを実行します)(できればこれを!):
python -m myscript
コマンドラインから、Pythonがインストールされ、パス環境変数にある限り(つまり、インストールされた場合、通常はpython
で実行するように設定されている場合) )。
#!
)はUnixのものです。使用しているShebangは、通常Unixプラットフォーム(通常AppleまたはLinux)で実行するためのものです。Windowsは通常、Sybangを使用するためにcygwinを必要とします。
通常は、システムパスでpythonが利用可能なものであれば何でもデフォルトに設定できます。
#!/usr/bin/env python
Unixを使用していると仮定すると、python setup、
#!/usr/bin/python
Unix which
コマンドを使用すると、現在使用しているpythonを確認できます。したがって、pythonから来て、このコマンドを使用します:
which python
またはWindows(cygwinはおそらくShebangを実行できます):
where python
Linux/Unixでは、その方法でファイルを実行するための実行権限が必要になります。 chmodを使用する
chmod +x myscript.py
(chmodはWindowsのCygwinにも適用される場合があります)
ルートとして実行していない場合は、Sudo
が必要な場合があります。
Sudo chmod +x myscript.py
そして、(同じディレクトリ内で)実行しようとします
./myscript.py
ファイルを実行可能にする
Sudo chmod +x /path/to/file.py
そして、file.pyと同じディレクトリから:
./file.py
この方法で webbrowser モジュールを使用することもできます:
python -m webbrowser -t "http://www.python.org"