
我想建立python3
要在 shebangs 中使用的目標。例如。使用第一行#!/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
#!
在這種情況下,您應該更改的不是- 行,而是您的$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)
一般來說,#!
-行標識翻譯員對於腳本,即使用什麼程式來解析和執行該檔案。sed
例如,腳本可以使用#!/usr/bin/sed -f
.