세방의 목표 변경


0

python3shebangs에서 사용할 대상을 작성하고 싶습니다. 예 : 첫 번째 줄을 사용하십시오 #!/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 경로 작성 휴대용 코드를 올바르게 설정하고 싶습니다.

답변:


2

이 경우에는 #!변경해야하는 행이 아니라 $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.


그거였다. 실제로 잘못된 질문을했지만 질문에 답변 해 주셔서 감사합니다.
magu_ 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.