使用 execv 运行时指定 Python 解释器的跨平台方法

jsa*_*nen 6 python execv

我目前正在 Linux 和 Windows 7 上运行 Python 脚本。该文件以 execv 样式执行,我的意思是解释器是在命令的文件开头定义的。

在Windows系统中,解释器规范为:

#!C:\Python26\python.exe
Run Code Online (Sandbox Code Playgroud)

然而在 Linux 中这需要

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

我想在两个系统中运行此脚本,而不必一次又一次地更改此行。

我已经尝试过以下方法:

#!C:\Python26\python.exe
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

也:

#!C:\Python26\python.exe;/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

那么:有什么方法可以指定多个解释器吗?

ber*_*nie 3

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

这将调用env程序在您的 PATH 中搜索 Python 可执行文件。

如果您需要确保 Python 的特定版本,您可以执行以下操作:

#!/usr/bin/env python3.11
Run Code Online (Sandbox Code Playgroud)