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 경로 작성 휴대용 코드를 올바르게 설정하고 싶습니다.
답변
이 경우에는 #!
변경해야하는 행이 아니라 $PATH
.
#!/usr/bin/env python3
이는 변수에 python3
나열된 디렉토리에서 인터프리터를 검색 하는 효과 가 있습니다 $PATH
.
경우 python3
에 설치되어있는 예를 들면 $HOME/local/bin
,이 디렉토리에 있어야합니다 $PATH
이전 도 포함 할 수있는 다른 디렉토리 python3
그렇지 않으면 그 사람이 당신의 자신의 대신 사용됩니다, 통역 $HOME/local/bin
.
그래서 당신은 설정해야합니다
PATH="$HOME/local/bin:$PATH"
명령 행 또는 쉘 초기화 스크립트 ( ~/.bashrc
예 :)에 있습니다. C-shell 사용자는 다르게 행동합니다 …
set path = ($HOME/local/bin $path)
일반적으로 #!
-line 은 스크립트 의 해석기 , 즉 파일을 구문 분석하고 실행하는 데 사용할 프로그램을 식별 합니다. sed
스크립트는, 예를 들어, 사용할 수 있습니다 #!/usr/bin/sed -f
.