2012-11-27 1 views
0

나는 의존성 JCC가있는 PyLucene make을 시도하고있다. (JCC는 Python에서 Java를 호출하기위한 코드 생성기입니다.)

참고 : OS는 Mac OS X 10.7.4입니다.

(가) 스크립트가 실행하게 포함 :

$ /usr/bin/python -m jcc 

출력 :

/usr/bin/python: No module named jcc 

하지만 다음 실행하면 성공 :

$ python -m jcc 

비록 파이썬 포인트는/usr/bin으로/파이썬 :

출력:

/usr/bin/python 

/usr/bin/pythonpython 별칭 포인트는 어떻게 이러한 결과는 다를 수 있습니까?

+3

'whereis'는 소스/바이너리 및 매뉴얼 섹션을 위해 (man에 나열된) 특정 디렉토리 목록을 검색합니다. 파이썬이 무엇인지 알아 내기 위해 $ PATH의 바이너리 만 검색하는'which python'을 실행하는 것이 좋습니다. 사용되고있다. – avasal

답변

1

둘 다에서 python --version을 실행하여 동일한 지 확인하십시오.

1

문제는 해시 테이블 일 수 있습니다. Bash는 기억 된 명령 테이블을 유지합니다. 매번 $PATH을 검색하지 않습니다. alias이 설정되기 전에 python이 호출 된 경우 해시 테이블이 사용됩니다. 내 이해 비록 해시 테이블을 검색하기 전에 별칭을 확장 할 수 있지만 맨 페이지에 명확하지 않습니다.

hash 명령을 사용하여 해시 테이블을 나열하여 확인하십시오. hash -d python을 사용하여 해시 테이블을 재설정하십시오.

그러나 예는 명령 줄이지만 make을 사용하고 있습니다. 앨리어스는 자식 프로세스에 의해 (기본적으로) 상속되지 않으며, 가능하다면 아마도 지원의 악몽이 될 것입니다. 따라서 make이 별칭을 사용하고 있지 않습니다.

관련 문제