Unix解释器包装器,可以放入shebang

时间:2018-05-26 19:50:35

标签: python unix shebang

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而不做任何事情。还有什么我应该这样做的?

1 个答案:

答案 0 :(得分:0)

假设:

  • python-script:path / to / my_script.py
  • python_executable的路径:/ path / A / B / python
  • shell脚本:/home/name/mypython.sh

你设置它的方式。 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?