0

每当我安装我的模块时,我想包含我的源代码的 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]

这行得通,但感觉很hacky。有一个更好的方法吗?谢谢!

4

0 回答 0