为 virtualenv 纠正 shebang

correct shebang for virtualenv

我有项目 shell_script 并且 virtualenv 的结构树是 shell_script/ENV/bin/python3 这个目录树应该是什么样子的?

这不起作用

#!/ENV/bin/env python3.6

应该是这样的:

#!/path/to/ENV/bin/python3

但是,是安装程序为脚本写出了 shebang。你不应该手动写出来。 无论您在源代码中手动编写什么 shebang,安装包时都会被安装程序重写。

安装程序使用的任何 Python 可执行文件都将被硬编码到 shebang 中,因此如果您从 virtualenv 中 pip install 然后将使用 virtualev 到 Python 可执行文件的路径.如果您 pip install 使用系统 Python 则将使用系统可执行文件。

假设你已经激活了 virtualenv,你可以使用

#!/usr/bin/env python3.x

这将找到您感兴趣的正确可执行文件。