[解決済み] Pythonスクリプトのヘッダー
2023-02-21 18:21:29
質問
典型的なヘッダーは
#!/usr/bin/env python
しかし、以下のようにスクリプトを実行した場合にも動作することがわかりました。
$python ./my_script.py
#!/usr/bin/python
#!python
この2つのヘッダーは何が違うのでしょうか?2番目のヘッダの問題点は何でしょうか?また、PATHにPythonインタプリタがあるかどうかの議論もお願いします。ありがとうございます。
どのように解決するのですか?
まず、以下のように明示的にインタプリタを使ってスクリプトを実行する場合は、いつでも
$ python ./my_script.py
$ ksh ~/bin/redouble.sh
$ lua5.1 /usr/local/bin/osbf3
その
#!
の行は常に無視されます。 その
#!
行はUnixの機能である
実行可能
スクリプトのみで、その完全なドキュメントは
のマニュアルページを参照してください。
execve(2)
. そこでは、以下の単語が
#!
は、有効な実行ファイルのパス名でなければならないことがわかります。 ですから
#!/usr/bin/env python
は何でも実行します。
python
を実行します。
$PATH
. この形式は、Python インタープリタが移動しても大丈夫なので、多少移植性が高くなります。
$PATH
. あなたの目標によっては、この動作はOKかもしれませんし、そうでないかもしれません。
次に
#!/usr/bin/python
は、Python インタープリタが
/usr/bin
. もし他の場所にインストールされていたら、あなたは負けます。 しかし、これは、次のように、欲しいバージョンを正確に得るか、さもなければ全く何も得られない ("fail-stop" 動作) ことを確実にする良い方法です。
#!/usr/bin/python2.5
最後に
#!python
がある場合のみ動作します。
python
がある場合のみ動作します。 推奨しません。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] Pythonの終了コマンド - なぜこんなにたくさんあるのか、そしてそれぞれはいつ使うべきなのか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。