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

许多python文件的头部都会写上:
#!/usr/bin/python
或者
#!/usr/bin/envpython
这行是拿来作甚的?有区别吗?好像没有这一行代码也能正常运行啊。
慕桂英3389331
浏览 884回答 2
2回答

宝慕林4294392

如果你用pythonxxoo.py来运行,那么写不写都没关系,如果要用./xxoo.py那么就必须加这行,这行被称为shebang,用来为脚本语言指定解释器.通常认为用#!/usr/bin/envpython要比#!/usr/bin/python更好,因为python解释器有时并不安装在默认路径,例如在virtualenv中。

一只甜甜圈

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

相关分类

JavaScript