2012-03-11 8 views
1

모듈 nosetests는 컴퓨터의 모든 곳에서 실행됩니다. 지정된 위치에서만 실행하면 안됩니다. 내가 실수로 모듈 또는 nosetests를 PYTHONPATH에 추가했기 때문에 dist 패키지 나 사이트 패키지에 직접 넣거나 파이썬이 매번 영구적으로 찾도록 알려주기 때문입니다.Python 모듈 가져 오기 : PYTHONPATH, sys, os를 추적하는 방법

find, import os, import sys 및 PYTHONPATH와 같은 몇 가지 명령에 익숙하지만이 문제가 발생하도록 허용하는 범인 디렉토리를 추적 할 수는 없습니다.

>>> find . -name "*nosetests"* -print 

도움이 같은

뭔가 좋은 것입니다. 이 예에서

답변

2

, 그것은 nosetests.__file__을 검토 충분 문제를 해결합니다. 그러나보다 일반적인 방법이 있습니다 : 모듈은 __file__ 속성이없는 클래스와 다른 객체에도 사용할 수 있습니다.

import inspect, nosetests 
print inspect.getsourcefile(nosetests) 
2

살펴 보자 : @ 아담이 제안

>>> import itertools 
>>> print itertools.__file__ 
/usr/lib/python2.7/lib-dynload/itertools.so 
>>> import string 
>>> print string.__file__ 
/usr/lib/python2.7/string.pyc