Hello, again.  I am working on creating a module for one of my experiment's
internal Python packages.  Normally, we check the package out of our GitBlit
repository and install it using |pip install --user|.  I wrote a .eb file
using 'PythonPackage', and specified the appropriate git_config options to
check everything out.  But the build fails during the final sanity check,
because it doesn't find the dependencies:

== FAILED: Installation ended unsuccessfully (build directory: 
/scratch/group/mitchcomp/eb/tmp/build/CDMSDataCatalog/0.9.2/system-system-Python-3.6.6):
 build failed (first 300 chars): cmd "pip check" exited with exit code 1 and 
output:
cdmsdatacatalog 0.9.2 requires datacat, which is not installed.
cdmsdatacatalog 0.9.2 requires tqdm, which is not installed.

This package contains the required setup.py, which itself has the argument,

      install_requires=['datacat @ 
git+https://github.com/slaclab/datacat.git#subdirectory=client/python',
                        'requests',
                        'tqdm'],

I thought the |pip install| action took care of parsing this list, doing all
the requisite downloads internally, and leaving you with a fully functional
package with all of its dependencies satisfied.

Do we have to copy and adapt that list into EasyBuild language?  If so, how
does one specify the Python-specific suffixes on the Git URL?  And how does
one then propagate all of that to PIP so it knows what to find?  The
exts_list structure does not support this (in particular, it doesn't support
git_config, which I'm working on myself).

                                                -- Mike Kelsey

Reply via email to