Я нашел довольно ненадежным использование различных доступных инструментов (включая лучший pkg_resources
, упомянутый этим другим ответом ), так как большинство из них не покрывают все случаи. Например, встроенные модули и модули не установлены, а просто добавлены в путь к Python (например, вашей IDE). Так как нам нужен был надежный способ получить версию любого пакета, модуля или субмодуля, я закончил тем, что написал getversion . Это довольно просто в использовании:
from getversion import get_module_version
import foo
version, details = get_module_version(foo)
Подробнее см. Документацию .