如何使用当前 conda 环境的路径 python 作为脚本的 shebang?

How to use path of current conda environment's python as shebang for a script?

假设您有 2 个 conda 环境:py3_envpy3_clone_env

如果您有一个具有以下结构的 script.py

#![shebang]
import sys
def main():
    print("hello world", file=sys.stdout)
if __name__ == "__main__":
    main()

是否可以让 shebang 成为根据当前 conda 环境确定的变量?

例如:

来自py3_env环境:

#!~/anaconda/envs/py3_env/bin/python

来自 py3_clone_env 环境:

#!~/anaconda/envs/py3_clone_env/bin/python

我想你需要的是#!/usr/bin/env python:

#!/usr/bin/env python
import sys
print(sys.executable)

在这种情况下,python 是基于当前 PATH 环境变量的 python。所以这是你当前的 virtualenv 的 python.