Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 有区别吗?

许多 python 文件的头部都会写上:

#!/usr/bin/python
或者
#!/usr/bin/env python

这行是拿来作甚的?有区别吗?好像没有这一行代码也能正常运行啊。


慕仙森
浏览 266回答 4
4回答

汪汪一只猫

第一种写法:#!/usr/bin/python表示写死了就是要 /usr/bin/python 这个目录下 python 来执行你的脚本。第二种写法:#!/usr/bin/env这种写法在你机器上安装了多个版本的python的时候有意义,这样声明的时候,会去取你机器的 PATH 中指定的第一个 python 来执行你的脚本。如果这时候你又配置了虚拟环境的话,那么这样写可以保证脚本会使用你虚拟环境中的 python 来执行。所以这样看来,只有第二种方法才是正确的写法。
打开App,查看更多内容
随时随地看视频慕课网APP