I disagree with you about what the best approach here is, but I don't think it's worth wasting electrons arguing about, so I propose to do effectively what Tim Jenness suggested on GitHub. I won't hard-code a RuntimeError, since I think it's more helpful to pass the original exception to the author.
One thing I'm not happy about is the supposed "better" solution for Python 3. I would genuinely never have guessed that you wrote it that way to make it explicit that you were capturing the variable; I wasted quite some time (and eventually asked you for help, as above) trying to work out what was going on. I propose to remove this comment entirely.
Are you happy with that approach?