Monday, September 20, 2010

為毛要用/usr/bin/env python,而不是直接/usr/bin/python

Q:一些python script的第一行會寫成:
#!/usr/bin/env python

而不是
#!/usr/bin/python

A: 因為不是每部機器的python都裝在/usr/bin這個path,並且一部機器也可能有多個python。
用第一種方法portability不好。

但env則幾乎都是裝在/usr/bin,它能正確找到python的地址並調用,同時還可以使用name=vaule的方法指定一些環境變量。
詳細參考manual。

是為記。

4 comments:

Jesse said...

i don't think you can use name=value in the shebang ...

Ivan Z. G. Xiao said...

@Jesse
But that's how env works, right?

Unknown said...

学到了

Jesse said...

i don't think you can use name=value in the shebang ...