LLNL / maestrowf

A tool to easily orchestrate general computational workflows both locally and on supercomputers
https://maestrowf.readthedocs.io
MIT License
133 stars 43 forks source link

Update how maestro finds conductor #214

Open jsemler opened 4 years ago

jsemler commented 4 years ago

As specified in #212 when maestro is run from outside a virtual environment it cannot find conductor.

Maestro can run from within an activated virtualenv:

$ venv/bin/activate
(venv) $ maestro -h

When maestro is called via the full path from a deactivated virtualenv it cannot find conductor and the workflow doesn't run:

$ venv/bin/maestro -h

It would be helpful for maestro to attempt to locate conductor from the same path maestro was called from. Additionally, it would also be helpful to have some error checking for conductor before attempting to run it.

FrankD412 commented 4 years ago

My comment didn't take in #212 -- so @jsemler thank you for creating the issue. I'm not 100% sure how entry points work, but the major concern I have with finding the conductor path is whether or not the dependent packages are found via typical Python path means or if there is an explicit link between the entry point and dependent packages. I'll need to do some testing to see what is the case there, but assuming that works out this would mean that we can point directly to a Maestro instance.