Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If pip cache gets out of sync with the Python version used to create
it, it can cause a misleading pickling error.
When serialize.py tries to deserialize pickled cache data, packages
with an out-of-date path will generate an ImportError that may refer to
any number of imports that can look like missing external packages,
such as urllib3 or requests. Example:
In this state, attempting to load a cached package in any local virtual environment
will hit an import error that doesn't seem related. Also, tox tests that generate
a new environment will also bomb if they try to install a cached package.
Adding ImportError as an exception lets a user escape this state
by skipping the cache, the way a ValueError does.
It appears this commenter on #5079 encountered the same pickling error.
Users who realize it's a cache problem can use
--no-cache-dir
on alltheir installs, or clear the system pip cache, but a self-healing solution
would help toilers like me.