Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip 20.3 release breaks source install #1177

Closed
sammdot opened this issue Dec 6, 2020 · 0 comments · Fixed by #1179
Closed

pip 20.3 release breaks source install #1177

sammdot opened this issue Dec 6, 2020 · 0 comments · Fixed by #1179

Comments

@sammdot
Copy link
Member

sammdot commented Dec 6, 2020

Summary

Building Plover from source causes conflicts in pip's package resolution algorithm. See #1176 for an example of what the error looks like -- it seems pip takes the duplicate installation of local Plover and PyPI Plover as a conflict rather than automatically resolving to the local version (as was the behavior in older versions of pip).

pip documentation says this about the new package resolver:

While Plover's requirements.txt specifies pip==20.0.2, it seems the build process forces an upgrade to 20.3, which is the first version that introduces the new resolution behavior.

Reproducing

  • Clone Plover repository at 4.0.0.dev8+235 (d20167f)

  • Run the typical development build commands:

    python3 -m pip install -r requirements.txt
    python3 -m pip install --user -e . -r requirements_plugins.txt
    
  • Build a macOS app bundle:

    python3 ./setup.py bdist_app
    

The build fails with the following error message:

ERROR: Cannot install -r requirements_plugins.txt (line 19), plover 4.0.0.dev8 (from ~/plover/dist/plover-4.0.0.dev8-py3-none-any.whl) and plover[gui-qt]==4.0.0.dev8 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested plover 4.0.0.dev8 (from ~/plover/dist/plover-4.0.0.dev8-py3-none-any.whl)
    plover-treal 1.0.1 depends on plover>=4.0.0.dev0
    plover[gui-qt] 4.0.0.dev8 depends on plover 4.0.0.dev8 (from https://files.pythonhosted.org/packages/96/09/31e7455012feb2022bb5404308c5c6026ab192840927a46471c95903c31e/plover-4.0.0.dev8-py3-none-any.whl#sha256=c9f42573acd3729b6750d3c7644f81086512ae6ed831dea1440d1f113daa4225 (from https://pypi.org/simple/plover/))

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

Plover Version

4.0.0.dev8+235 (d20167f)

System

macOS 11.0 Big Sur, Python 3.8.5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant