一部の Python パッケージは、プログラムがインストールされているバージョンを取得する方法を提供します。例えば
>>> import numpy
>>> numpy.version.version
'1.5.0'
しかし、私はそうする方法を見つけることができませんpywin32
。調べるにはどのような良い方法がありますか?
マークの公式の回答を次のように改作: 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()
amd64ビルドではCraigの答えが機能しなくなったためです。
これは私がこれまでに考え出した唯一の方法です。pywin32.version.txt
Python インストールのディレクトリで呼び出されたファイルを見つけ、site-packages
その内容を読み取ります。
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
か、またそれが今後も継続する可能性が高いかどうかはわかりません。