python - 无法验证这些要求的哈希值,因为我们没有办法对版本控制存储库进行哈希处理

标签 python python-3.x pip python-packaging pipenv

我有以下需求文件:

...
sqlalchemy==1.2.3 --hash=sha256:9e9ec143e2e246f385cfb2de8daa89d2fa466279addcb7be9e102988fdf33d24
werkzeug==0.14.1 --hash=sha256:d5da73735293558eb1651ee2fddc4d0dedcfa06538b8813a2e20011583c9e49b  
git+ssh://gitlab.domain.com/private_pkg.git#egg=private_pkg

从 shell 安装项目完美无缺:

pip install git+ssh://gitlab.domain.com/private_pkg.git#egg=private_pkg

但尝试从需求文件安装它会引发此错误:

Can't verify hashes for these requirements because we don't have a way to hash version control repositories:
    private_pkg from git+ssh://gitlab.domain.com/private_pkg.git#egg=private_pkg (from -r requirements/prod.lock (line 30))

NB:需求文件中的哈希值是从 pipenv lock -r

生成的

最佳答案

pip 中的 --hash 选项是全有或全无。您要么不指定,要么需要指定所有这些。但是,未托管在 PyPI 上的包不能有哈希,这会导致失败。使用任何设置了 --hash 选项的包安装您的项目,您会发现问题所在。

较新版本的 Pipenv 从导出的 requirements.txt 中完全删除了哈希值以避免出现此问题。

关于python - 无法验证这些要求的哈希值,因为我们没有办法对版本控制存储库进行哈希处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48904263/

相关文章:

python - 构建成功后 pip 不删除源

python - 安装 pip 软件包或升级 pip 时出现环境错误 [Errno 2]

python - 如何解决 conda 中不一致的包警告?

python - 如何在所有测试和拆卸完成后调用一次设置

python - 如何在 Apache Airflow 中混合使用 Celery Executor 和 Kubernetes Executor?

python-3.x - 使用 BeautifulSoup 从篮球引用中提取表格时出现问题

python - 使用 Boost-Python 包装枚举

python - 非序列化数据的共享内存缓存

python 3 不确定行为