作为一种习惯,我总是在.bash / .py脚本的顶部指定一个默认解释器。我刚刚注意到它导致了virtualenv的问题,因为解释器指向/usr/bin/python
而不是venv。所以我在想,何时何时不应该以这种方式指定解释器?
答案 0 :(得分:2)
如果您的脚本可执行,您的操作系统将知道要使用哪个解释器
给定一个名为my_script
的文件,该文件是可执行文件,以
#!/bin/bash
:您的操作系统将由我们/bin/bash
来解释脚本#!/usr/bin/python
:您的操作系统将使用/usr/bin/python
来解释脚本但有一点需要注意 - 正如你在使用virtualenvs时注意到的那样 - 人们不一定有相同的解释路径。
解决方法和良好做法是使用env utility来调用命令。
#!/usr/bin/env python
将使用您路径中找到的第一个python,在您的情况下将是您的virtualenv的python