如何在当前虚拟环境中运行可执行的python脚本?

Luk*_*ton 4 python virtualenv

所以我要做的是有一个可执行的python脚本,以便我可以在我的路径上链接到它并从任何地方运行它,但我需要在本地虚拟环境中运行它.

目前我在/ usr/local/bin中有一个符号链接 - >〜/ dev/project/tools/rest_client.py

在项目目录中,权限是:

-rwxr-xr-x  1 luke  staff  3229 Dec  3 10:21 rest_client.py 
Run Code Online (Sandbox Code Playgroud)

rest-client文件

#!/Users/luke/Envs/py2.7/bin/python

def main():
   #do stuff
Run Code Online (Sandbox Code Playgroud)

我可以在运行时从任何目录运行它 rest-client

我希望能够将此文件检入git repo并与其他人共享,而无需将virtualenv硬编码到文件中,但仍然可以从我的机器上的任何位置执行它.

如果我将第一行更改为

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

然后它不会在虚拟环境中运行,除非我通过它执行它

workon py2.7
python ~/dev/project/tools/rest_client.py
Run Code Online (Sandbox Code Playgroud)

有没有一种正确的方法来做UNIX而不使用像别名这样的东西?

Sam*_*lan 11

#!/usr/bin/env python你的shebang行放在继承当前的python环境中.