根据 pip documentation , 可以在 requirements.txt 文件中指定需求的哈希值。
是否可以通过在 setup.py 中指定散列来获得相同的结果,以便在有人简单地执行 pip install <package>
时检查散列?。
我通过传递 install_requires
在 setup.py 中指定要求setup
的关键字参数distutils 包中的函数。
from distutils.core import setup
from setuptools import find_packages
setup(name='<package-name>',
...
...
install_requires=['ecdsa==0.13', 'base58==0.2.5']
也许还有另一种方法可以实现相同的目的,但我找不到任何文档。
最佳答案
目前,我认为没有一种简单的方法可以在 setup.py 中指定散列检查。我的解决方案是简单地在 requirements.txt 中使用带有散列依赖项的 virtualenv。在虚拟环境中安装后,您可以运行 pip setup.py install,它将检查本地环境(即您的虚拟环境)并对安装的包进行哈希处理。
在 requirements.txt 中,您的散列包将如下所示:
requests==2.19.1 \
--hash=sha256:63b52e3c866428a224f97cab011de738c36aec0185aa91cfacd418b5d58911d1 \
--hash=sha256:ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a
激活您的 virtualenv 并安装 requirements.txt 文件:
pip install -r requirements.txt --require-hashes
关于python - setup.py 安装中的哈希检查需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46835953/