python - setup.py 安装中的哈希检查需要

标签 python pip setuptools distutils setup.py

根据 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/

相关文章:

python - 无法安装 Pandas!帮助! (pip 安装 Pandas )

Python 请求模块 - 未找到模块

python - 为 python3 安装 venv

python 包 - 是否包含测试套件

python - django 表单有效()失败

python - 在特定颜色上查找并绘制opencv中的最大轮廓(Python)

python - 如何为 matplotlib 列表中的子批处理设置标题

python-3.x - 为什么我不能在 python 3 for Windows 中使用 pip 安装 hashlib?

python - 如何知道哪个Python受到pip命令的影响?

python - "python setup.py install"没有在 virtualenv 中安装