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