On Wed, Mar 2, 2016 at 12:07 PM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
On Wed, Mar 2, 2016 at 4:59 PM, Nate Coraor <nate@bx.psu.edu> wrote:
> On Mon, Feb 29, 2016 at 12:10 PM, Peter Cock <p.j.a.cock@googlemail.com>
> wrote:
>>
>> Hello all,
>>
>> QUESTION: When submitting jobs to the cluster as the real user,
>> how should sudo scripts/drmaa_external_runner.py be told which
>> Python to use, and how would it activate the venv if needed for
>> the DRMAA dependency?
>
>
> Hi Peter,
>
> I think the easiest solution to this is probably to write a wrapper script
> that sets up the environment for drmaa_external_runner.py and call this
> wrapper (with the same args), which can then pass the args to
> drmaa_external_runner.py.
>
> --nate

Thanks Nate,

So we'd write a shell script called drmaa_external_runner.py which
setups the Python environment and then calls a copy of the original
Python script drmaa_external_runner.py - has anyone else tried this?

The name of the run job script to call is controlled by the drmaa_external_runjob_script variable in galaxy.ini:

https://github.com/galaxyproject/galaxy/blob/dev/config/galaxy.ini.sample#L1073

Here you can change this to your wrapper.
 
Clearly using Python 2.7 on a system with a Python 2.6 default (CentOS 6)
is part of the problem. Maybe we can just install the Python DRMAA under
the system Python 2.6 instead?

This part would work, but wouldn't you still need the environment variables to be set?

--nate
 

Thanks,

Peter