DavHau / mach-nix

Create highly reproducible python environments
MIT License
857 stars 105 forks source link

enum34 and mach-nix 2.4.0 #131

Closed tfmoraes closed 3 years ago

tfmoraes commented 3 years ago

I have this shell.nix (based on https://github.com/DavHau/mach-nix/issues/108).

let
  mach-nix = import (builtins.fetchGit {
    url = "https://github.com/DavHau/mach-nix/";
    ref = "refs/tags/2.4.0";
  });
in
mach-nix.mkPythonShell {
  requirements = ''
    plaidml-keras
  '';

  _.enum34.phases = "installPhase";
  _.enum34.installPhase = "mkdir $out";

  _.plaidml.pipInstallFlags = "--no-deps";
  _.plaidml-keras.pipInstallFlags = "--no-deps";
}

plaidml-keras has plaidml as dependency and plaidml has enum34 as dependency. enum34 is not installable in python > 3.3. In https://github.com/DavHau/mach-nix/issues/108 you helped me to workaround this problem with mach-nix 2.3.0, but it's not working with 2.4.0. Is it possible to remove enum34 as dependency of plaidml?

building '/nix/store/910zhg52w0vqhql856qfpw4s8gmq14id-mach_nix_file.drv'...

### Resolved Dependencies ###

plaidml-keras - 0.7.0 - wheel
├── keras - 2.2.4 - wheel
│   ├── h5py - 2.10.0 - wheel
│   │   ├── numpy - 1.19.2 - wheel
│   │   └── six - 1.15.0 - wheel
│   ├── keras-applications - 1.0.8 - wheel
│   │   ├── h5py - 2.10.0 - wheel
│   │   │   ├── numpy - 1.19.2 - wheel
│   │   │   └── six - 1.15.0 - wheel
│   │   └── numpy - 1.19.2 - wheel
│   ├── keras-preprocessing - 1.1.2 - wheel
│   │   ├── numpy - 1.19.2 - wheel
│   │   └── six - 1.15.0 - wheel
│   ├── numpy - 1.19.2 - wheel
│   ├── pyyaml - 5.3.1 - sdist
│   ├── scipy - 1.5.2 - wheel
│   │   └── numpy - 1.19.2 - wheel
│   └── six - 1.15.0 - wheel
├── plaidml - 0.7.0 - wheel
│   ├── cffi - 1.14.3 - wheel
│   │   └── pycparser - 2.20 - wheel
│   ├── enum34 - 1.1.10 - wheel
│   ├── numpy - 1.19.2 - wheel
│   └── six - 1.15.0 - wheel
└── six - 1.15.0 - wheel

unpacking 'https://github.com/DavHau/nix-pypi-fetcher/tarball/ee15c7ad091761b5e2ca1d26a42974e6bafb1180'...
error: while evaluating the attribute 'nativeBuildInputs' of the derivation 'interactive-python3-3.8.5-environment' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/development/interpreters/python/wrapper.nix:54:9:
while evaluating the attribute 'passAsFile' of the derivation 'python3-3.8.5-env' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/build-support/trivial-builders.nix:7:7:
while evaluating 'requiredPythonModules' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:66:27, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/development/interpreters/python/wrapper.nix:15:13:
while evaluating 'unique' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/lists.nix:643:12, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:68:6:
while evaluating 'requiredPythonModules' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:66:27, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:84:33:
while evaluating 'unique' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/lists.nix:643:12, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:68:6:
while evaluating 'requiredPythonModules' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:66:27, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:84:33:
while evaluating 'unique' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/lists.nix:643:12, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:68:6:
while evaluating 'hasPythonModule' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:63:21, called from undefined position:
while evaluating 'getOutput' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/attrsets.nix:464:23, called from undefined position:
while evaluating anonymous function at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/stdenv/generic/make-derivation.nix:157:17, called from undefined position:
while evaluating the attribute 'enum34.overrideAttrs' at /nix/store/gqn4vbqd156s3kk4xcfny3r7z3kr8fhm-mach_nix_file/share/mach_nix_file.nix:47:5:
while evaluating 'makeOverridablePythonPackage' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:33:37, called from /nix/store/gqn4vbqd156s3kk4xcfny3r7z3kr8fhm-mach_nix_file/share/mach_nix_file.nix:47:16:
while evaluating 'makeOverridable' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/customisation.nix:67:24, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:35:12:
while evaluating anonymous function at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix:31:1, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/customisation.nix:69:16:
while evaluating 'extendDerivation' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/customisation.nix:144:43, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix:185:4:
while evaluating 'toPythonModule' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:78:20, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix:104:10:
while evaluating 'mkDerivation' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/stdenv/generic/make-derivation.nix:22:5, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix:104:26:
while evaluating 'extendDerivation' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/lib/customisation.nix:144:43, called from /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/stdenv/generic/make-derivation.nix:341:7:
while evaluating 'get_passthru' at /nix/store/gqn4vbqd156s3kk4xcfny3r7z3kr8fhm-mach_nix_file/share/mach_nix_file.nix:24:26, called from /nix/store/gqn4vbqd156s3kk4xcfny3r7z3kr8fhm-mach_nix_file/share/mach_nix_file.nix:55:19:
while evaluating the attribute 'enum34.passthru' at /nix/store/lhjdy3fdhglnc3p4sv5hra11v1mch0gs-nixpkgs/pkgs/top-level/python-packages.nix:1859:3:
value is null while a set was expected, at /nix/store/gqn4vbqd156s3kk4xcfny3r7z3kr8fhm-mach_nix_file/share/mach_nix_file.nix:26:29
DavHau commented 3 years ago

Thanks. This was a bug in the recently added routine to inherit passthru from nixpkgs. fixed in b7e05a17392235a580c5e7c9eafc13a455bc4fd9

DavHau commented 3 years ago

2.4.1 is now released due to a few other annoying bugs.