pip/docs/reference
Erik Rose 925e4b4466 Fix false hash mismatches when installing a package that has a cached wheel.
This would occur when, for example, installing from a requirements file that references a certain hashed sdist, a common situation.

As of pip 7, pip always tries to build a wheel for each requirement (if one wasn't provided directly) and installs from that. The way this was implemented, InstallRequirement.link pointed to the cached wheel, which obviously had a different hash than the index-sourced archive, so spurious mismatch errors would result.

Now we no longer read from the wheel cache in hash-checking mode.

Make populate_link(), rather than the `link` setter, responsible for mapping InstallRequirement.link to a cached wheel. populate_link() isn't called until until prepare_files(). At that point, when we've examined all InstallRequirements and their potential --hash options, we know whether we should be requiring hashes and thus whether to use the wheel cache at all.

The only place that sets InstallRequirement.link other than InstallRequirement itself is pip.wheel, which does so long after hashes have been checked, when it's unpacking the wheel it just built, so it won't cause spurious hash mismatches.
2015-10-19 23:40:00 -04:00
..
index.rst Add `pip hash` command. 2015-10-08 00:36:03 -04:00
pip.rst Remove the implicit debug log 2015-05-21 18:01:40 -04:00
pip_download.rst Add `pip download` command and deprecate `pip install --download`. 2015-09-13 17:41:00 -04:00
pip_freeze.rst Update docs to ref sorting order of list/freeze 2014-03-09 05:03:28 +11:00
pip_hash.rst Add --algorithm flag to `pip hash`. 2015-10-12 14:05:10 -04:00
pip_install.rst Fix false hash mismatches when installing a package that has a cached wheel. 2015-10-19 23:40:00 -04:00
pip_list.rst Update docs to ref sorting order of list/freeze 2014-03-09 05:03:28 +11:00
pip_search.rst Remove unnecessary duplicate reference 2014-08-13 12:24:55 +10:00
pip_show.rst pip docs refactor 2014-02-11 22:13:03 -08:00
pip_uninstall.rst pip docs refactor 2014-02-11 22:13:03 -08:00
pip_wheel.rst consistent location for new build interface docs 2014-04-25 22:20:53 -07:00