2012-03-11 12 views
1

モジュールnosetestsはコンピュータ上のどこでも実行されます(いくつかの指定された場所でのみ実行するべきではありません)。これは、私が誤ってPYTHONPATHモジュールにnosetestsモジュールを追加したか、dist-packagesかsite-packageのどちらかに直接入れるか、Pythonに毎回永久にそれを探すように指示したためです。モジュールをインポートするPython:そのorginを追跡する方法PYTHONPATH、sys、os

私はfind、import os、import sys、PYTHONPATHのようないくつかのコマンドに精通していますが、これを可能にする原因となるディレクトリを追跡する方法が見つからないようです。すべてのヘルプは素晴らしいことだ

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

よう

何か。

答えて

2

@Adamが示唆したように、それは、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 
関連する問題