pip
data_error
ai_generated
true
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, update the hashes as well. Otherwise, examine the package contents carefully; someone may have tampered with them. package==1.2.3 from https://files.pythonhosted.org/packages/.../package-1.2.3.tar.gz#sha256=abc123...: Expected sha256 abc123... Got sha256 def456...
ID: pip/requirements-file-hash-mismatch-line
90%Fix Rate
85%Confidence
1Evidence
2023-08-20First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| pip 23.2 | active | — | — | — |
| Python 3.11 | active | — | — | — |
| hashin 0.17 | active | — | — | — |
Root Cause
The hash of the downloaded package file does not match the pinned hash in the requirements file, indicating either a corrupted download, a mismatch after package re-upload, or a security tampering attempt.
generic中文
下载的包文件的哈希值与 requirements 文件中固定的哈希值不匹配,表明下载损坏、包重新上传后不匹配或存在安全篡改尝试。
Official Documentation
https://pip.pypa.io/en/stable/topics/secure-installs/#hash-checkingWorkarounds
-
95% success Regenerate the hash for the package using 'pip hash <package>.tar.gz' and update the requirements file with the new hash.
Regenerate the hash for the package using 'pip hash <package>.tar.gz' and update the requirements file with the new hash.
-
90% success Remove the hash lines from the requirements file and re-pin with 'pip freeze > requirements.txt' to get fresh hashes.
Remove the hash lines from the requirements file and re-pin with 'pip freeze > requirements.txt' to get fresh hashes.
-
85% success Use a tool like 'hashin' to update all hashes: 'hashin --update-all package==1.2.3'
Use a tool like 'hashin' to update all hashes: 'hashin --update-all package==1.2.3'
中文步骤
使用 'pip hash <package>.tar.gz' 重新生成包哈希,并用新哈希更新 requirements 文件。
从 requirements 文件中移除哈希行,然后使用 'pip freeze > requirements.txt' 重新固定以获取新哈希。
使用 'hashin' 工具更新所有哈希:'hashin --update-all package==1.2.3'
Dead Ends
Common approaches that don't work:
-
95% fail
Clearing pip cache with 'pip cache purge' does not fix hash mismatch; the downloaded file hash is still wrong.
-
90% fail
Using --no-cache-dir forces a fresh download but if the source hash changed, it still mismatches.
-
50% fail
Ignoring the error with --no-hash is insecure and may expose to tampered packages.