Hi all,
I was installing MACS3 using PythonBundle.My understanding is that a
bundle is just a list of packages on some order so they all know about each
other.
MACS3 needs 3 packages to be installed: Cython, numpy, cykhash, in this
order, so I created something like:
[...]
exts_list = [
('Cython','0.29.24',{
}),
('numpy', '1.21.3', {
'sources': ['%(name)s-%(version)s.zip'],
'patches': [
'numpy-1.18.2-mkl.patch',
'numpy-1.20.3_disable-broken-override-test.patch',
'numpy-1.20.3_disable_fortran_callback_test.patch',
],
}),
('cykhash', '2.0.0', {
}),
('MACS3', '3.0.0a6', {
'modulename' : 'MACS3'
}),
]
[...]
The first 3 installed successfully but MACS3 failed to install because it
was not finding cykhash:
ERROR: Could not find a version that satisfies the requirement
cykhash>=1.0.2 (from macs3) (from versions: none)
ERROR: No matching distribution found for cykhash>=1.0.2
it was, mainly, because of the ignore-installed option from the pip
installation:
pip install
--prefix=/home/bria/easybuildinstall/software/MACS3/3.0.0a6-foss-2021a
--ignore-installed --no-index --no-build-isolation ."
So I had to pass the "pip_ignore_installed = False" option and then MACS3
was able to find cykhash...
I find this a bit weird as, as said a the beginning, my understanding of
the bundle is: "a list of python packages installed in a way that each
knows about the others (and that's why order matters)."
Am I wrong with my understanding on how the pythonbundle works?
(I have other questions, but I guess that all depeden on this one :-) )
TIA,
Arnau