什么时候应该在.py脚本的顶部指定一个python解释器?

时间:2018-03-21 08:31:05

标签: python

作为一种习惯,我总是在.bash / .py脚本的顶部指定一个默认解释器。我刚刚注意到它导致了virtualenv的问题,因为解释器指向/usr/bin/python而不是venv。所以我在想,何时何时不应该以这种方式指定解释器?

1 个答案:

答案 0 :(得分:2)

如果您的脚本可执行,您的操作系统将知道要使用哪个解释器

给定一个名为my_script的文件,该文件是可执行文件,以

开头
  • #!/bin/bash:您的操作系统将由我们/bin/bash来解释脚本
  • #!/usr/bin/python:您的操作系统将使用/usr/bin/python来解释脚本

但有一点需要注意 - 正如你在使用virtualenvs时注意到的那样 - 人们不一定有相同的解释路径。

解决方法和良好做法是使用env utility来调用命令。

#!/usr/bin/env python将使用您路径中找到的第一个python,在您的情况下将是您的virtualenv的python