假设您有2个conda环境:py3_env
和py3_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
答案 0 :(得分:7)
我想您需要的是#!/usr/bin/env python
:
#!/usr/bin/env python
import sys
print(sys.executable)
在这种情况下,python
是基于当前python
环境变量的PATH
。这就是您当前的virtualenv的python。