我想创建python3
要在 shebang 中使用的目标。例如,使用第一行#!/usr/bin/env python3
。
我尝试过的:
setenv python3 PATH_TO_BINARY,也把它放进去
.cshrc
,echo $python3 也显示路径/bin/env NAME=python3 PATH_TO_BINARY,打开 python3 但不允许使用 shebang。/bin/env python3=PATH_TO_BINARY 也一样
如果重要的话,我想解决以下问题:
我正在开发一个rhel 6
无法直接安装的系统,python3
但我可以在可访问的网络资源上使用它anaconda3
。我不想使用绝对路径放置 shebang,而是想正确设置 python3 路径,编写可移植代码。
答案1
在这种情况下,您应该更改的不是 -line #!
,而是您的$PATH
。
#!/usr/bin/env python3
其结果是,python3
解释器将会在你的变量列出的目录中被搜索$PATH
。
如果python3
安装在,例如,$HOME/local/bin
那么此目录必须存在于$PATH
前任何其他目录也可能包含python3
解释器,否则将使用该解释器来代替您自己的解释器$HOME/local/bin
。
所以你需要设置
PATH="$HOME/local/bin:$PATH"
无论是在命令行上,还是在 shell 初始化脚本中(~/.bashrc
例如)。C-shell 用户的操作方式不同...
set path = ($HOME/local/bin $path)
一般来说,#!
-line 标识翻译者对于脚本,即使用什么程序来解析和运行文件。sed
例如,脚本可以使用#!/usr/bin/sed -f
。