Hi Andreas,

On 25/08/2017 11:23, Andreas Hilboll wrote:
PS: I should add that this is a Python3-based easyconfig, so there is no
`pip` executable in Python/3.6.1-intel2017a; it is called `pip3`.  Maybe
the PythonPackage easyblock should somehow check if the correct pip is
called pip or pip3?

I think is your actual problem...
When you specify "use_pip = True", EasyBuild only tries to use 'pip', it doesn't take into account that it may need to use 'pip3' when Python 3 is being used...

The logic for this is in the generic PythonPackage easyblock [1].

Are you up for taking a stab to fix that?
Basically you need to do something like this when Python 3 is being used:

    self.install_cmd = self.install_cmd.replace('pip', 'pip3')

This should probably be done in the 'prepare_python' method, since only there the Python module used as a dependency will be loaded.


regards,

Kenneth


[1] https://github.com/easybuilders/easybuild-easyblocks/blob/master/easybuild/easyblocks/generic/pythonpackage.py#L226

Reply via email to