Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别介绍
程序员文章站
2022-04-24 21:48:47
Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别介绍
大部分python文件的头部都会写上#!/usr/bin/python...
Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别介绍
大部分python文件的头部都会写上#!/usr/bin/python 或者 #!/usr/bin/env ,这个语句主要和运行模式有关,
如果我们用普通运行模式例如(linux) : python *.py那么这个语句在此运行模式下无效。如果想让python程序像普通程序一样运行,例如:./*.py (文件要有可执行权限chmod a+x *.py),这个语句就起作用了,他用来为脚本语言指定解释器,通常认为用#!/usr/bin/env python要比#!/usr/bin/python更好,因为 python 解释器有时并不安装在默认路径,例如在虚拟环境中。
解释:
#!/usr/bin/env python
这种写法在你机器上安装了多个版本的python的时候有意义,这样声明的时候,会去取你机器的 PATH 中指定的第一个 python 来执行你的脚本。如果这时候你又配置了虚拟环境的话,那么这样写可以保证脚本会使用你虚拟环境中的 python 来执行。
#!/usr/bin/python
表示写死了就是要 /usr/bin/python 这个目录下 python 来执行你的脚本。这样写程序的可移植性就差了,如果此路径下python命令不存在就会报错。 所以一般情况还是用第一种写法。
推荐阅读
-
python升级带来的yum异常(解决错误File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:)
-
/usr/bin/python与/usr/bin/env python的区别
-
Ubuntu18.04 误删/usr/bin/python3的解决方案
-
Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别介绍
-
Python Error: /usr/bin/env: python3: No such file or directory
-
CentOS bug : /usr/bin/env: 'python': No such file or directory
-
【转载】ubuntu下/usr/bin和/usr/local/bin的区别
-
python升级带来的yum异常(解决错误File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:)
-
Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别介绍
-
windows系统下,首行# !/usr/bin/env python是不是没有用?