Python: как узнать, какой пакет я импортирую?

Я хотел бы получить эту информацию во время выполнения или в ipython. Например,

import matplotlib

Как узнать, какой файл matplotlib.py используется, если у меня несколько версий или я просто хочу знать, где находится файл.

Спасибо


person Yan Zhu    schedule 09.03.2012    source источник
comment
Я думаю, вы действительно хотите найти __version__, но я не знаю, определен ли он для matplotlib.   -  person Rik Poggi    schedule 10.03.2012


Ответы (2)


Проверьте атрибут __file__ модуля.

In [1]: import matplotlib

In [2]: matplotlib.__file__
Out[2]: '/usr/lib/pymodules/python2.7/matplotlib/__init__.pyc'

(Работает и на ванильном Python.)

person Fred Foo    schedule 09.03.2012
comment
Вы даже можете просто ввести matplotlib, получив <module 'matplotlib' from '/usr/lib/pymodules/python2.7/matplotlib/__init__.pyc'> - person Thomas K; 10.03.2012

Вы можете использовать sys.modules, чтобы найти путь к нему.

Такие как:

import math
import sys
print sys.modules['math']
person veiset    schedule 09.03.2012