在 Python 脚本的第一行经常见到这样的注释:
#!/usr/bin/env python3
或者
#!/usr/bin/python3
在脚本中, 第一行以 #!
开头的代码, 在计算机行业中叫做 "shebang", 也叫做 sha-bang / hashbang / pound-bang / hash-pling, 其作用是"指定由哪个解释器来执行脚本".
举个例子, 很多人在系统中同时安装了 Python2 和 Python3, 但是 2 和 3 是不兼容的, 所以执行脚本时必须指定解释器.
再比如说, Unix 系统中一般同时安装了多个版本的 Shell, 比如常用的 bash、sh 和 现代的 zsh, 但是这些 shell 的语法并不完全相同, 所以也需要指定解释器.
可以在脚本第一行写上 #!/usr/bin/env python3
或者 #!/usr/bin/python3
:
#!/usr/bin/python3
表示 python3 解释器所处的绝对路径就是 /usr/bin/python3, 路径被写死了, 类似于编程中的"硬编码".#!/usr/bin/env/ python3
表示从 "PATH 环境变量"中查找 python3 解释器的位置, 路径没有被写死, 而是在"环境变量"中寻找 python3 解释器的安装路径, 再调用该路径下的解释器来执行脚本.显然, 采用 #!/usr/bin/env python3
的写法更灵活更具有通用性, 推荐使用这种写法.
#!
之后的空格是可选的, #!/usr/bin/env python3
和 #! /usr/bin/env python3
这两种写法都是允许的Python 脚本开头经常见到这样的代码:
#!/usr/bin/env python #coding=utf-8
之所以写 #coding=utf-8
是为了指定字符编码.
#!/usr/bin/python3的作用 解决vscode ImportError: No module named xxxx
原文:https://www.cnblogs.com/clemente/p/10543317.html