2013-04-29 5 views

답변

1

이 방법 shebang lines 작업을 함께 할 수있는 파이썬 자체는 아무 더이 없습니다.

많은 유닉스 계열 시스템에서, /usr/bin/python과 같이의 절대 경로을 shebang 행에 지정해야합니다.

/usr/local/bin 디렉토리에 Pyyhon이있는 다른 컴퓨터로 해당 스크립트를 이동하면 어떻게됩니까? 그것은 작동하지 않을 것입니다. 또는 테스트 용으로 다른 파이썬 인터프리터를 $HOME/python/bin에 사용하려는 경우에도 shebang 행을 변경해야합니다.

env은이를 해결하는 방법입니다. 일반적으로 이고, /usr/bin은 절대 경로로 Shebang 행에 안전하게 포함 할 수 있습니다.

이 경우 env 명령 자체는 python의 경로를 검색하고 해당 실행 파일을 실행합니다.

env 명령은 실제로보다 더 많은 일을 할 수 있으며,이 특정 경우, 그것은 환경 (env)를 인쇄 할 수 있습니다 또는 특정 프로세스를 일시적으로 수정할 수 있습니다 (env xyzzy=plugh myprog를)하지만, 단순히 당신에게 힘을주고 Python을 고정 된 위치가 아닌 경로에서 실행하십시오.

+0

즉, 파이썬이 설치된 한 내 컴퓨터에서 스크립트가 실행될 수 있으므로'#!/usr/bin/env python'을 작성하는 것이 좋습니다. –

+0

@ 한스, 예, 좋은 생각입니다. 물론,/usr/local/paxprog/tools/python/bin에 자신의 파이썬이 들어있는 곳과 같은 특정 경로를 원할 때 상황이있을 수 있지만 일반적으로 파이썬이 무엇이든간에 실행하고 싶을뿐입니다 사용자는 ("파이썬 2.7이 필요함"과 같은 필수 요구 사항을 알려줍니다.) – paxdiablo

+2

#!/usr/bin/env python을 사용할 때 단점이 있습니다. 스크립트의 이름 대신 "top"에 "python"으로 나타나는 스크립트를 만듭니다. 10 개의 파이썬 스크립트를 모두 실행하고 CPU를 작동 시키면 쉽게 문제를 구분할 수 없기 때문에 문제가 될 수 있습니다. – dstromberg

관련 문제