O.rka
O.rka

Reputation: 30677

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

Let's say you have 2 conda environments: py3_env and py3_clone_env

If you have a script.py with the following structure:

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

Is it possible to have the shebang be a variable that is determined from the current conda environment?

For example:

From py3_env environment:

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

and from py3_clone_env environment:

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

Upvotes: 4

Views: 2588

Answers (1)

Sraw
Sraw

Reputation: 20206

I guess what you need is #!/usr/bin/env python:

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

In this case, python is the python based on current PATH environment variables. So it is your current virtualenv's python.

Upvotes: 9

Related Questions