问题
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
回答1:
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.
来源:https://stackoverflow.com/questions/52087621/how-to-use-path-of-current-conda-environments-python-as-shebang-for-a-script