模块nosetests在我的计算机上运行(它不应该只在几个指定的位置运行)。我想这是因为我不小心将模块测试添加到PYTHONPATH中,或者直接将它放在dist-packages或site-packages中,或者让python每次都永久地查找它。
我熟悉一些命令,比如find,import os,import sys和PYTHONPATH,但我似乎无法找到一种方法来追踪罪魁祸首目录,以便发生这种情况。
类似
>>> find . -name "*nosetests"* -print
任何帮助都会很棒。
答案 0 :(得分: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
答案 1 :(得分:2)
要解决您的问题,就像@Adam建议的那样检查nosetests.__file__
就足够了。但是有一种更通用的方式:inspect
模块,它也适用于没有__file__
属性的类和其他对象。
import inspect, nosetests
print inspect.getsourcefile(nosetests)