3

現在、LinuxとWindows 7の両方でPythonスクリプトを実行しています。ファイルはexecvスタイルで実行されます。つまり、コマンドのファイルの先頭でインタープリターが定義されます。

Windowsシステムでは、インタープリターの仕様は次のとおりです。

#!C:\Python26\python.exe

ただし、Linuxではこれは

#!/usr/bin/python

この行を何度も変更せずに、両方のシステムでこのスクリプトを実行したいと思います。

私は以下を試しました:

#!C:\Python26\python.exe
#!/usr/bin/python

と同様:

#!C:\Python26\python.exe;/usr/bin/python

だから:複数の通訳者を指定する方法はありますか?

4

3 に答える 3

4

何をしようとしているのかによって、これは少し重いかもしれませんが、0install はプラットフォームに適した Python インタープリターでプログラムを実行できます。プログラムの XML 記述で、次のようにします (たとえば、Python >= 2.6, < 3 が必要な場合):

<command name="run" path="myprog.py">
  <runner interface="http://repo.roscidus.com/python/python">
    <version not-before="2.6" before="3"/>
  </runner>
</command>

参照: http://www.0install.net/local-feeds.html

これにより、ユーザーがまだ Python を持っていない場合、0install は適切なバージョンの Python をダウンロードします。

Linux のみをターゲットにしている場合でも、これを実行したい場合があることに注意してください。すべてのプラットフォームで機能する行 (Arch などの一部のプラットフォームでは、"python" ではなく "python2" が必要ですが、Debian などの他のプラットフォームでは "python2" が提供されず、"python" のみが提供されます)。

于 2013-07-13T17:24:29.077 に答える
3
#!/usr/bin/env python

これにより、プログラムが呼び出さenvれ、PATH で Python 実行可能ファイルが検索されます。

Python の特定のバージョンを確認する必要がある場合は、次のように実行できます。

#!/usr/bin/env python2.5
于 2010-10-21T14:42:50.270 に答える
1

複数のインタープリターを指定する方法はありますか?

その必要はありません。Windows では (少なくとも CygWin などをインストールしていない限り)、Shebang 行は通常の Python コメントとして扱われます。つまり、無視されます。Windowsは、Python のインストール時にそのように指示されるため、Python インタープリターを使用してファイルを.py実行する必要があることを認識しています。.pyw

于 2021-08-01T17:30:08.317 に答える