bbp-nixpkgs icon indicating copy to clipboard operation
bbp-nixpkgs copied to clipboard

libFLATIndex nix pkg is not working with python distutils

Open wizmer opened this issue 5 years ago • 0 comments

Hi,

I am trying to create the nix recipe of projectionizer, a python package that depend on libFLATIndex. However, even if I specify flatindexer as a dependency in the recipe, it is not being found at install time when the setup.py of projectionizer is being executed:

installing
/tmp/nix-build-python2.7-projectionizer-1.4.8.dev4.drv-0/projectionizer/dist /tmp/nix-build-python2.7-projectionizer-1.4.8.dev4.drv-0/projectionizer
Processing ./projectionizer-1.1.0.dev3-py2-none-any.whl
Requirement already satisfied: voxcell>=2.3 in /nix/store/2x8kafdvl2vbds9ak94kyg519c6xrmax-python2.7-voxcell-2.5.1/lib/python2.7/site-packages (from projectionizer==1.1.0.dev3)
Requirement already satisfied: partd>=0.3 in /nix/store/8v0nzyf8vfkxhyg331c19b8arvd4c4w1-python2.7-partd-0.3.7/lib/python2.7/site-packages (from projectionizer==1.1.0.dev3)
Collecting libFLATIndex>=1.8 (from projectionizer==1.1.0.dev3)
  Could not find a version that satisfies the requirement libFLATIndex>=1.8 (from projectionizer==1.1.0.dev3) (from versions: )

I'll add that during the build libFLATIndex is being listed in the python sys.path at this location: /nix/store/s9hin8v7lflfpjrxp1niplwcl45yxkzs-flatindexer-1.8.8/lib/python2.7/site-packages and if I do nix-shell -A projectionizer and python -c "import libFLATIndex", it works as expected. So It seems to be just a distutils discovery problem.

My guess is that the flatindexer package is missing the egg-info or dist-info folder that would make it a real python package.

A simpler but equivalent way to reproduce the problem is the following: Open a nix-shell: nix-shell -p python pythonPackages.pip neurom flatindexer pip freeze | grep neurom will find neurom while pip freeze | grep -i flat won't find flatindexer

wizmer avatar Aug 30 '18 09:08 wizmer