私は、UNIXライクなさまざまなリリースで実行する必要のあるスクリプトを書いています。これらはpython2.xで書かれています。
残念ながら、一部の新しいリリースでは、このフレーバーバイナリを「python」ではなく「python2」と呼んでいます。したがって、「#!/ usr / bin / env python」は、適切にインストールされたpythonインタープリターを探すためには機能しません。バージョン3のインタプリタを入手するか(悪い)、インタプリタをまったく入手しない(悪い!)
インストールされている場合はpython2インタープリター、インストールされている場合はpythonインタープリターで読み込まれるようにpythonスクリプトを作成する賢い方法はありますか?「python」がpython3であるかどうかを検出するには、他のメカニズムを使用する必要がありますが、その時点でpythonのような環境にいるので、それを使用できます。
リップルランチャーを作成して「findpython2」と呼び、それを#として使用できると思います。スクリプトのインタプリタですが、これは検索パスにfindpython2をインストールする必要があることを意味します。これは明らかに最適ではありません(これらのスクリプトは絶対参照によって呼び出されることが多いため、パスには含まれていません)。