OSX 10.8.2의 Python 2.7.3왜/usr/bin/env를 사용하면 파이썬 가져 오기가 중단됩니까?
저는 현재 markdown 모듈을 가져 오는 스크립트를 작성하고 있습니다. 나는 이식성을 위해 #!/usr/bin/env python
쉬 뱅 (shebang)을 사용했다. 나는 (로그인) 쉘의 외부에서 스크립트를 실행하면 내가 AppleScript로 do shell script "/path/to/myscript.py " & quoted form of arg1
를 통해 예를 들어, ./myscript.py arg1
를 통해 쉘에서 직접 실행하면 스크립트가 정상적으로 실행, 그것은
myscript.py", line 8, in <module>
import markdown
ImportError: No module named markdown
실패 나는 추측 이것은 shebang에 문제가 될 수 있으므로, 내 비단 뱀의 위치를 #!/usr/local/bin/python
으로 변경하고 스크립트가 제대로 작동했는지 확인하십시오.
그래서 제 질문의 두 가지가 :
- 왜
/usr/bin/env python
내 수입을 중단 사용합니까? /usr/local/bin/python
을 사용하지 않고이 문제를 방지하려면 어떻게해야합니까?
비 로그인 셸을 사용하는 것처럼'/ usr/bin/env python'을 사용하지 않는 것 같습니다. 나는'/ usr/local/bin'이 그러한 쉘에서'PATH'에 있지 않거나'/ usr/bin' 전에는 존재하지 않는다고 가정하고 있습니다. 그러면''/ usr/bin' '은 파이썬이 왜 선택되었는지 설명 할 것입니다. bash 설정 파일에서'PATH'를 바꾸고 있습니까? – millimoose
내가 빠뜨린 한가지 맛있는 점은 TextWrangler에서'#!/usr/bin/env python'과'#!/usr/local/bin/python'가 완벽하게 작동하고있어 터미널에서 실행할 때 모두 똑같은 결과를 얻었습니다. AppleScript에서 에러를 발생 시켰을뿐입니다 (로드리고는 맞습니다). TextWrangler와 Terminal 모두 똑같은 결과를 얻었지만 do shell script (echo 'import sys'; echo 'print sys.path';) |/usr/bin/env python "'을 실행하여 차이점을 볼 수있었습니다. AppleScript 편집기에서. 'do shell script '는 파이썬이 더 쉬울 것입니다. – n8henrie