fyi interesting benefit(?) of Poetry lockfile gene...
# development
h
fyi interesting benefit(?) of Poetry lockfile generation is it is more rigid discplined that interpreter constraints are valid. For example:
👍 2
we set default Black to
>=3.6
. But that results in
Copy code
Resolving dependencies...

  SolverProblemError

  The current project's Python requirement (>=3.6) is not compatible with some of the required packages Python requirement:
    - black requires Python >=3.6.2, so it will not be satisfied for Python >=3.6,<3.6.2

  Because pants-lockfile-generation depends on black (21.5b2) which requires Python >=3.6.2, version solving failed.

  at ~/.cache/pants/named_caches/pex_root/venvs/e26e7b2ca2b49770e42c261b3caa0d4d3deb8a34/2d1d404c3de23b1810386195be7410700b1feb14/lib/python3.9/site-packages/poetry/puzzle/solver.py:241 in _solve
      237│             packages = result.packages
      238│         except OverrideNeeded as e:
      239│             return self.solve_in_compatibility_mode(e.overrides, use_latest=use_latest)
      240│         except SolveFailure as e:
    → 241│             raise SolverProblemError(e)
      242│
      243│         results = dict(
      244│             depth_first_search(
      245│                 PackageNode(self._package, packages), aggregate_package_nodes

  • Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties

    For black, a possible solution would be to set the `python` property to ">=3.6.2"

    <https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies>,
    <https://python-poetry.org/docs/dependency-specification/#using-environment-markers>
So now I know to bump the default to
>=3.6.2