任何脚本中的shebang行决定了该脚本是否能够像独立可执行文件一样运行,无需在终端中预先输入python
或在文件管理器中双击(当配置正确时)。虽然这不是必须的,但通常会放在那里,以便当有人在编辑器中看到文件时,他们能立即知道他们在看什么。然而,你使用的shebang行很重要。
对于默认为最新版本3的Python 3脚本,正确的用法是:
#!/usr/bin/env python3
对于默认为最新版本2的Python 2脚本,正确的用法是:
#!/usr/bin/env python2
以下情况不应使用(除非你在编写兼容Python 2.x和3.x的代码):
#!/usr/bin/env python
这些推荐的原因,如PEP 394所述,是因为在不同的系统上,python
可能指的是python2
或python3
。另外,不要使用:
#!/usr/local/bin/python
“在某些情况下,python
可能安装在/usr/bin/python
或/bin/python
,上述#!
将失败。”
—“#!/usr/bin/env python” vs “#!/usr/local/bin/python”