21

设置.py文件为可执行的Shabang标记,只有唯一一种正确的写法

#! /usr/bin/env python

以下写法都是错的:

#! /usr/bin/python
#! /bin/python

错在两点:

  • 小的错误是,你不清楚不同的发布版环境下,python可执行文件到底在哪里。
  • 大的错误是,如果在virtualenv虚拟环境下运行脚本,则python解释器必须使用virtualenv虚拟环境文件夹下bin/目录中包裹的python。但此时/usr/bin/python仍然存在,则脚本将在脱离虚拟环境的解释器下运行!这是个会直接导致暴死的错误!

所以别忘了用env命令,保证严格遵守$PATH等约束,让脚本调用python的行为,和自己在命令行下手打python回车是完全一致的。


沙渺
21.8k 声望1.1k 粉丝

1998年入行,普通的电脑老玩家。Web、嵌入式Linux和电子产品设计研究者。