Mach-nix python env

i tried mach-nix
and it fails

  • dask==2.22.0 is the latest stable pkg on pypi
resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=Requirement.parse('dask==2.22.0'), parent=None), RequirementInformation(requirement=Requirement.parse('dask[complete]>=0.18.0'), parent=Candidate(name='datashader', ver=<Version('0.10.0')>, ex
builder for '/nix/store/d5dnw42d7jfhdqmzh35cybak8w91jpkh-mach_nix_file.drv' failed with exit code 1
error: --- Error --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- nix-build
build of '/nix/store/d5dnw42d7jfhdqmzh35cybak8w91jpkh-mach_nix_file.drv' failed

What information should/could I get out of the error msg?

The Resolution Impossible error can mean any of the following for your specified requirements:

  1. they are conflicting and therefore unsolvable
  2. they are too difficult to resolve (dependency resolution is an NP-Hard problem).
  3. they trigger a bug in the resolver (which might be feasible since it is a development version)

Further the error message states which requirements have been processed while the error happened.
There are two requirement objects while one of them has a parent. The reconstructed part of this dependency tree is therefore:


In this part of the dep tree there is no obvious conflict.

I just tested to build datashader==0.10.0 with the current version 2.2.0 of mach-nix and it raises an error which seems mach-nix related. I will try to fix that soon

But I cannot tell if this is the cause of your problem since I don’t know your full list of requirements or which version of mach-nix was used. It would be great if you could open an issue and provide a reproducible nix expression that causes the problem.

it was resolved and exported via poetry
version of mach-nix = 2.2.0

Poetries builtin requirements.txt exporter is quite broken and likely produces conflicts.
It at least needs some manual cleanup after exporting.

At the same time you’re hitting a bug in mach-nix here. Thanks for the report!