在Python脚本中调用系统的Python或virtualenv的Python

eri*_*ork 1 python shell virtualenv

假设您编写了一个Python shell脚本.它可能会从这样的事情开始:

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

问题是,如果你经常使用virtualenv这个电话是完全错误的.你真的希望这个脚本调用virtualenv的python二进制文件,如果它在这个环境中,/usr/bin/python/否则.就像你的shell决定,当你写python一个shell命令.

您如何编写您的#!生产线以满足此要求?

Mar*_*ers 6

#!/usr/bin/env python改用.

env命令在当前查找二进制文件PATH; 激活你的虚拟环境会将你的virtualenv bin/目录添加到路径中,env并在那里找到你的python二进制文件而不是全局python.