Skip to content

Click pin (~=8.2.0) conflicts with frappe v16 (~=8.3.1) #1717

Description

@phonon112358

Do the checklist before filing an issue:

  • Can you replicate the issue on the supported bench versions?
  • Is this something you can debug and fix? Send a pull request! Bug fixes and documentation fixes are welcome

Describe the bug 📉

bench pins Click~=8.2.0 in pyproject.toml (also on develop), frappe v16 pins Click~=8.3.1. Both share the same venv, so the two pins can never be satisfied at the same time: every pip install -U frappe-bench downgrades click to 8.2.x and prints a resolver error against frappe, every bench setup requirements upgrades it back to 8.3.x and would complain the other way around.

Nothing actually breaks — bench works fine with click 8.3.x — but the error shows up on every update cycle and trains people to ignore pip resolver errors, which is not great.

To Reproduce 📃

  1. Production bench with frappe version-16 installed
  2. env/bin/pip install -U frappe-bench
  3. pip downgrades click and reports:
ERROR: pip's dependency resolver does not currently take into account all the
packages that are installed. This behaviour is the source of the following
dependency conflicts.
frappe 16.22.0 requires Click~=8.3.1, but you have click 8.2.1 which is incompatible.
  1. bench setup requirements then reinstalls click 8.3.x, reversing the downgrade

Expected behavior 📈

bench and frappe should have compatible click requirements so that updating one doesn't produce resolver errors against the other.

OS (please complete the following information): 🌀

  • Linux: Debian 13 (trixie)

Version Information

  • Bench Branch: PyPI 5.30.0
  • Frappe Version: 16.22.0 (version-16)
  • ERPNext Version: 16.22.0 (version-16)
  • Python: 3.14

Possible Solution 📑

bench only uses stable click CLI APIs that didn't change between 8.2 and 8.3, so either relaxing the pin to Click>=8.2,<9 or bumping it to ~=8.3.1 to match frappe would fix this. Happy to send a PR if you tell me which variant you prefer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions