我有以下需求文件:
...
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/