1. ホーム
  2. パイソン

usr/bin/python^M に関する小さなメモ:悪いインタプリタです。そのようなファイルやディレクトリはありません

2022-02-25 22:42:56
<パス

多くの場合、スクリプト言語としての python は、IDE を使って win で書かれ、サーバに自動同期し、IDE でデプロイされたものは、一般的に非常にうまくいきにくいのですが、vim を少し修正して本番環境に展開した後に、問題が発生することがよくあります。例えば

#! /usr/bin/python
# coding=utf-8
... ...
Actual runtime error: /usr/bin/python^M: bad interpreter: No such file or directory


エラーレポートを詳しく調べても、ステートメントエラーやパスエラーは見つかりませんでしたが、以下の点に注意してください。 ^m という文字がありますが、これはウィンドウズでは壊れたメタ文字です。つまり、問題は、複数の環境で書くと、文字(win/unixの改行が違う)、インデント(インデントのタブ/スペースが2つの編集環境間で一致しない)によるこのような神業的なエラーが見つかりやすくなる可能性があるということです。

回避策:vimでファイルを開き、コマンドモードに入る

:set ff=unix
Set the text format to unix


これで基本的に、異なる環境でのテキスト編集に関する問題のほとんどは解決します。まだ問題がある場合は、基本的に両方の環境でインデント構成が同じであることを確認するだけで、よりよく解決します。