"#!/usr/bin/env python" vs "#!/usr/local/bin/python" -- 你造python文件第一行的三种写法吗?

近来空闲略多,扯蛋之余便开始linux和python双修。其实没有三种写法,我在学孔乙己而已。

教程里面通常会简单说下python文件的第一行为了在类Unix系统里面执行方便,加入如下代码

#!/usr/bin/python

所以有样学样,但在github里面学习代码的时候,发现很多并没有这么写,而是写成这样:

#!/usr/bin/env python

env?不是刚学习的查看环境变量的shell命令么?怎么搅到python文件里了,本着看热闹不嫌麻烦的心情,仔细研究了一下,真有不少人有这样的疑问。
之前一直以为linux系统的几个重要目录都差不多的,譬如python的执行文件都在/usr/bin/里面(事实大多如此)。但单是linux的分支就千千万,更遑论Mac和其他的类Unix系统了。譬如有些python会安装到/usr/local/bin/,或者用户是个深度定制狂,非把python安装到一个旮旯胡同里呢。所以骚年千万别那么肯定,给自己留条后路总是不错的。为了灵活性就换成下面的写法就好了。

env文件位置都是妥妥的,正常人都不会去动它,用它来找python,自然稳当的多。

参考自python.org的讨论贴:

https://mail.python.org/pipermail/tutor/2007-June/054816.html

posted on 2014-03-26 14:16  林南  阅读(599)  评论(0编辑  收藏  举报

导航