近来空闲略多,扯蛋之余便开始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