From the VersionConflict error, I'm guessing that easy_install -U pip installed a newer version of pip (20.2b1) without removing the old one (20.1.1). Anything that requires 20.2.b1 then sees the old version actively distributed (20.1.1) and throws the error.
Since this happened recently, I'm wondering whether the recent changes on June 15 to easy_install (2b4b5de and 9bb1149) might have contributed to this issue.
Sorry if this isn't the right place to ask this question, but has anyone on the setuptools side seen this error?
The text was updated successfully, but these errors were encountered:
I suspect the offending behavior happened in this line of 9bb1149. In particular, removing the __requires__ line from the wrapper script means that the disambiguation of multiple versions is no longer triggered.
Although use of easy_install as an installer is discouraged, it has not yet been properly deprecated, so it's a little unfair to impose this incompatible change. It may also be the case that the presence of importlib_metadata or Python 3.8 would also be subject to this issue (or maybe not because it omits the version number when resolving the requirement).
I can get a fix out for this later this week (or sooner if it's urgent). What is the urgency of this issue? Are you able to manually work around it for now? Can you try pip install importlib_metadata and see if that help work around the issue (or if it remains)?
Have you considered not using easy_install? Why not use pip install -U pip (or python -m pip install -U pip for better compatibility on Windows)? That technique is better supported and should properly uninstall all versions.
Non-urgent in the project I work on. This change motivated us to move migrate off easy_install and do python -m pip install -U pip as you suggested. Things are working again!
We have an automated script that ran the easy_install -U command, so it wasn't immediately clear what the culprit was. Seeing the warning in the logs was helpful though: WARNING: The easy_install command is deprecated and will be removed in a future version.
I'm not familiar with Pypa's policies regarding deprecation, but my guess is that the urgency of this issue depends on how many users are using easy_install on a regular basis.
Can you try pip install importlib_metadata
Running pip ... at all will break, but if I do easy_install importlib_metadata, it fixes the issue, and commands like pip list work again.