Подтвердить что ты не робот

Программно найти установленную версию pywin32

Некоторые пакеты Python предоставляют возможность для программы получить установленную версию. Например.

>>> import numpy
>>> numpy.version.version
'1.5.0'

Но я не могу найти способ сделать это для pywin32. Какой может быть хороший способ найти?

4b9b3361

Ответ 2

Адаптировано из официального ответа Марка на: http://mail.python.org/pipermail/python-win32/2010-April/010404.html

import os
import distutils.sysconfig

pth = distutils.sysconfig.get_python_lib(plat_specific=1)
ver = open(os.path.join(pth, "pywin32.version.txt")).read().strip()

поскольку ответ Craig больше не работал у меня в сборке amd64.

Ответ 3

Это единственный способ, который я догадался до сих пор. Он находит файл с именем pywin32.version.txt в каталоге установки site-packages Python и читает содержимое.

def get_pywin32_version():
    for path in sys.path:
        if os.path.isdir(path):
            filename = os.path.join(path, 'pywin32.version.txt')
            if os.path.isfile(filename):
                with open(filename) as f:
                    pywin32_version = f.read()
                pywin32_version = pywin32_version.strip()
                return pywin32_version

Это далеко не официальный API! Я не знаю, какие версии pywin32 установили этот файл pywin32.version.txt, и насколько вероятно, что это будет продолжаться в будущем.