Hi,

I'm trying to create nix-packages from some of my own Python-modules.
So, I followed the Nixpkgs manual, but it did not work as described:

Section 8.10.1.2.1. Python packaging on Nix:

- 1st shell.nix-example: local toolz package [1]
  
  1. variable "licenses" is not found:

     user@host:~/tmp/_$ nix-shell 
     error: undefined variable ‘licenses’ at /home/rk/tmp/_/shell.nix:15:15
     (use ‘--show-trace’ to show detailed location information)

  2. after removing the license-line, I can start a nix-shell, but the toolz
     package is not available:

     user@host:~/tmp$ nix-shell
     ...
     [nix-shell:~/tmp]$ which python3.5
     /nix/store/c5c9fs9vh12rr0lvbss1a813xwlwv0zh-python3-3.5.2/bin/python3.5

     [nix-shell:~/tmp]$ python3.5
     Python 3.5.2 (default, Jun 25 2016, 21:38:40)
     [GCC 5.4.0] on linux
     Type "help", "copyright", "credits" or "license" for more information.
     >>> import toolz
     Traceback (most recent call last):
       File "<stdin>", line 1, in <module>
     ImportError: No module named 'toolz'

- 2nd shell.nix-examle: local toolz package + numpy [2]

  1. variable "licenses" is not found (as above)
  2. tests fail:

        ...
        ======================================================================
        ERROR: exceptions (unittest.loader._FailedTest)
        ----------------------------------------------------------------------
        AttributeError: module 'toolz.curried' has no attribute 'exceptions'

        ======================================================================
        ERROR: exceptions (unittest.loader._FailedTest)
        ----------------------------------------------------------------------
        AttributeError: module 'toolz.curried' has no attribute 'exceptions'

        ----------------------------------------------------------------------
        Ran 2 tests in 0.001s

        FAILED (errors=2)
        builder for 
‘/nix/store/pa77cfky1b0f2knzn2k2czdaxz6wdym6-python3.5-toolz-0.7.4.drv’ failed 
with exit code 1
        cannot build derivation 
‘/nix/store/pi89rb0v178avb0jjdm352vad42a1f7a-python3-3.5.2-env.drv’: 1 
dependencies couldn't be built
        error: build of 
‘/nix/store/pi89rb0v178avb0jjdm352vad42a1f7a-python3-3.5.2-env.drv’ failed
        /home/user/.nix-profile/bin/nix-shell: failed to build all dependencies


So, how can I develop with local Python packages or package local Python 
modules?


Additionally, I've found several broken links:
  I found several broken links:
  - buildPythonPackage 
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/default.nix
  - http://pythonhosted.org/setuptools/setuptools.html#development-mode
    should probably point to 
http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode
  - http://nixos.org/nixpkgs/manual/#ssec-python-development
    This anchor des not exist; maybe #development-mode is meant.
  - A link-checker (https://validator.w3.org/checklink) reported even more 
broken links.

best regards
Roland


[1]
with import <nixpkgs> {};

pkgs.python35Packages.buildPythonPackage rec {
  name = "toolz-${version}";
  version = "0.7.4";

  src = pkgs.fetchurl{
    url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
    sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
  };

  meta = {
    homepage = "http://github.com/pytoolz/toolz/";;
    description = "List processing tools and functional utilities";
    license = licenses.bsd3;
    maintainers = with maintainers; [ fridh ];
  };
}


[2]
with import <nixpkgs> {};

( let
    toolz = pkgs.python35Packages.buildPythonPackage rec {
      name = "toolz-${version}";
      version = "0.7.4";

      src = pkgs.fetchurl{
        url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
        sha256 = 
"43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
      };

      meta = {
        homepage = "http://github.com/pytoolz/toolz/";;
        description = "List processing tools and functional utilities";
        license = licenses.bsd3;
        maintainers = with maintainers; [ fridh ];
      };
    };

  in pkgs.python35.withPackages (ps: [ps.numpy toolz])
).env



_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to