python可执行文件是“/ path / A / B / python”。但不幸的是,我需要获取一个文件并导出一些环境变量,以使该可执行文件可运行。
所以我想定义自己的“解释器”,比如说/home/name/mypython
#!/bin/bash
source something
/path/A/B/python
并在python文件的shebang中包含上面的脚本
#!/home/name/mypython
## rest of the python script
但遗憾的是它不起作用。它只是把我带到一个python shell而不做任何事情。还有什么我应该这样做的?
答案 0 :(得分:0)
假设:
你设置它的方式。 my_script.py中的shebang调用mypython.sh执行sourcing命令,然后调用没有参数的python解释器导致python shell。
将my_script.py的路径添加到mypython.sh,这样就会忽略my_script.py中的shebang
#!/bin/bash
source something
/path/A/B/python path/to/my_script.py
有一个非常好的线程如何shebang和python工作: Why do people write the #!/usr/bin/env python shebang on the first line of a Python script?