pip: bad interpreter: Permission denied

So lately while automating some jobs with Rundeck I came across a problem:

bad interpreter: Permission denied

Wow, where did it come from?

This pip command works perfectly from the CLI. So why under Rundeck it fails?

So I found out, that this is due to shebang length limitation. On Linux it just can't be longer than 128 characters (see BINPRM_BUF_SIZE here).

And Rundeck changes this path a bit (this is due to job configuration I use).

So as I didn't want to recompile my Kernel for that to make it work I simply made sure that the whole shebang would fit the 128 chars limit by shortening the path mentioned in error above.

There's also another way - one could create a wrapper script that would run the original one and run it via exec command.

You can read about it more here: