モジュールをインストールするたびに、ソース コードの MD5 ハッシュを含めたいと考えています。これを行うには、setuptools.setup の説明フィールドの最後にハッシュを配置します。
import subprocess
cmd="/sbin/md5 mymodule/*.py | md5 "
p=subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
hash=p.stdout.read().strip().decode()
print(hash)
from setuptools import setup
setup(name='mymodule',
version='0.1',
packages=['mymodule', ],
description = "My awesome Module. \nsourcehash="+hash+"\n",
)
次に、__ init __ .py に以下を含めます。
import os.path
with open(os.path.split(__file__)[0]+'/../EGG-INFO/PKG-INFO', 'r') as f:
pkg_info=f.read()
__sourcehash__ = pkg_info.split('sourcehash=')[1][:32]
これは機能しますが、ハッキーに感じます。これを行うより良い方法はありますか?ありがとう!